summaryrefslogtreecommitdiff
path: root/js/inline-expanding.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/inline-expanding.js')
-rw-r--r--js/inline-expanding.js60
1 files changed, 34 insertions, 26 deletions
diff --git a/js/inline-expanding.js b/js/inline-expanding.js
index f6714d7f..7c9923fa 100644
--- a/js/inline-expanding.js
+++ b/js/inline-expanding.js
@@ -6,42 +6,50 @@
* Copyright (c) 2012 Michael Save <savetheinternet@tinyboard.org>
*
* Usage:
+ * $config['additional_javascript'][] = 'js/jquery.min.js';
* $config['additional_javascript'][] = 'js/inline-expanding.js';
*
*/
onready(function(){
- var link = document.getElementsByTagName('a');
+ var inline_expand_post = function() {
+ var link = this.getElementsByTagName('a');
- for(var i = 0; i < link.length; i++) {
- if(typeof link[i] == "object" && link[i].childNodes[0].src && link[i].className != 'file') {
- link[i].childNodes[0].style.maxWidth = '95%';
- link[i].childNodes[0].style.maxHeight = '95%';
- link[i].onclick = function(e) {
- if(e.which == 2) {
- return true;
- }
- if(!this.tag) {
- this.tag = this.childNodes[0].src;
- this.childNodes[0].src = this.href;
- this.childNodes[0].style.width = 'auto';
- this.childNodes[0].style.height = 'auto';
- this.childNodes[0].style.opacity = '0.4';
- this.childNodes[0].style.filter = 'alpha(opacity=40)';
- this.childNodes[0].onload = function() {
- this.style.opacity = '1';
- this.style.filter = '';
+ for(var i = 0; i < link.length; i++) {
+ if(typeof link[i] == "object" && typeof link[i].childNodes[0] !== 'undefined' && link[i].childNodes[0].src && link[i].className != 'file') {
+ link[i].childNodes[0].style.maxWidth = '95%';
+ link[i].onclick = function(e) {
+ if(e.which == 2) {
+ return true;
+ }
+ if(!this.tag) {
+ this.tag = this.childNodes[0].src;
+ this.childNodes[0].src = this.href;
+ this.childNodes[0].style.width = 'auto';
+ this.childNodes[0].style.height = 'auto';
+ this.childNodes[0].style.opacity = '0.4';
+ this.childNodes[0].style.filter = 'alpha(opacity=40)';
+ this.childNodes[0].onload = function() {
+ this.style.opacity = '1';
+ this.style.filter = '';
+ }
+ } else {
+ this.childNodes[0].src = this.tag;
+ this.childNodes[0].style.width = 'auto';
+ this.childNodes[0].style.height = 'auto';
+ this.tag = '';
}
- } else {
- this.childNodes[0].src = this.tag;
- this.childNodes[0].style.width = 'auto';
- this.childNodes[0].style.height = 'auto';
- this.tag = '';
+ return false;
}
- return false;
}
-
}
}
+
+ $('div[id^="thread_"]').each(inline_expand_post);
+
+ // allow to work with auto-reload.js, etc.
+ $(document).bind('new_post', function(e, post) {
+ inline_expand_post.call(post);
+ });
});