From c80fc7bd56a8f52780d06e304baa0a3d601b5b16 Mon Sep 17 00:00:00 2001 From: Juan Hoyos Date: Fri, 22 Feb 2013 17:40:47 -0500 Subject: [PATCH 1/3] Allow scrollable viewports different from window Conflicts: jquery.appear.js --- jquery.appear.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/jquery.appear.js b/jquery.appear.js index 2970bf7..31919d7 100644 --- a/jquery.appear.js +++ b/jquery.appear.js @@ -15,10 +15,12 @@ var check_lock = false; var defaults = { interval: 250, - force_appear: false + force_appear: false, + viewport: window } var $window = $(window); var $document = $(document); + var $viewport = $(defaults.viewport); var $prior_appeared; @@ -46,16 +48,16 @@ return false; } - var window_left = $window.scrollLeft(); - var window_top = $window.scrollTop(); + var window_left = $viewport.scrollLeft(); + var window_top = $viewport.scrollTop(); var offset = $element.offset(); var left = offset.left; var top = offset.top; if (top + $element.height() >= window_top && - top - ($element.data('appear-top-offset') || 0) <= window_top + $window.height() && + top - ($element.data('appear-top-offset') || 0) <= window_top + $viewport.height() && left + $element.width() >= window_left && - left - ($element.data('appear-left-offset') || 0) <= window_left + $window.width()) { + left - ($element.data('appear-left-offset') || 0) <= window_left + $viewport.width()) { return true; } else { return false; @@ -76,7 +78,9 @@ setTimeout(process, opts.interval); }; - $(window).scroll(on_check).resize(on_check); + $viewport = $(opts.viewport); + $viewport.scroll(on_check); + $window.resize(on_check); check_binded = true; } From 16fa6da8653e1090ceb54a4a6fa55a7371ab47dd Mon Sep 17 00:00:00 2001 From: Juan Hoyos Date: Wed, 27 Feb 2013 16:21:42 -0500 Subject: [PATCH 2/3] Adjust trigger point of scrollable viewports --- jquery.appear.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/jquery.appear.js b/jquery.appear.js index 31919d7..b8c3ad6 100644 --- a/jquery.appear.js +++ b/jquery.appear.js @@ -48,16 +48,19 @@ return false; } - var window_left = $viewport.scrollLeft(); - var window_top = $viewport.scrollTop(); + var viewport_scroll_left = $viewport.scrollLeft(); + var viewport_scroll_top = $viewport.scrollTop(); var offset = $element.offset(); + var viewport_offset = $viewport.offset(); + var viewport_offset_left = viewport_offset.left || 0; + var viewport_offset_top = viewport_offset.top || 0; var left = offset.left; var top = offset.top; - if (top + $element.height() >= window_top && - top - ($element.data('appear-top-offset') || 0) <= window_top + $viewport.height() && - left + $element.width() >= window_left && - left - ($element.data('appear-left-offset') || 0) <= window_left + $viewport.width()) { + if (top + $element.height() >= viewport_scroll_top && + top - viewport_offset_top - ($element.data('appear-top-offset') || 0) <= viewport_scroll_top + $viewport.height() && + left + $element.width() >= viewport_scroll_left && + left - viewport_offset_left - ($element.data('appear-left-offset') || 0) <= viewport_scroll_left + $viewport.width()) { return true; } else { return false; From 9559a53eebc359d2eb83d1a28cc08d7af452e9d9 Mon Sep 17 00:00:00 2001 From: Juan Hoyos Date: Mon, 2 Dec 2013 15:07:53 -0500 Subject: [PATCH 3/3] Removed unused document reference --- jquery.appear.js | 1 - 1 file changed, 1 deletion(-) diff --git a/jquery.appear.js b/jquery.appear.js index 1485b96..a7ca39c 100644 --- a/jquery.appear.js +++ b/jquery.appear.js @@ -19,7 +19,6 @@ viewport: window } var $window = $(window); - var $document = $(document); var $viewport = $(defaults.viewport); var $prior_appeared;