Browse Source

Fix destroy method to not possibly unbind scroll evenit from window

pull/2034/head
jlukic 10 years ago
parent
commit
7d8646eb90
2 changed files with 10 additions and 5 deletions
  1. 9
      src/definitions/behaviors/visibility.js
  2. 6
      src/definitions/modules/sticky.js

9
src/definitions/behaviors/visibility.js

@ -95,12 +95,16 @@ $.fn.visibility = function(parameters) {
destroy: function() { destroy: function() {
module.verbose('Destroying previous module'); module.verbose('Destroying previous module');
if(observer) {
observer.disconnect();
}
$window.off('load' + eventNamespace);
$window.off('resize' + eventNamespace);
$context.off('scrollchange' + eventNamespace);
$module $module
.off(eventNamespace) .off(eventNamespace)
.removeData(moduleNamespace) .removeData(moduleNamespace)
; ;
$window.off(eventNamespace);
$context.off('scrollchange');
}, },
observeChanges: function() { observeChanges: function() {
@ -325,7 +329,6 @@ $.fn.visibility = function(parameters) {
module.reset(); module.reset();
module.save.position(); module.save.position();
module.checkVisibility(); module.checkVisibility();
settings.onRefresh.call(element); settings.onRefresh.call(element);
}, },

6
src/definitions/modules/sticky.js

@ -92,6 +92,7 @@ $.fn.sticky = function(parameters) {
if(observer) { if(observer) {
observer.disconnect(); observer.disconnect();
} }
$window.off('load' + eventNamespace);
$window.off('resize' + eventNamespace); $window.off('resize' + eventNamespace);
$scroll.off('scrollchange' + eventNamespace); $scroll.off('scrollchange' + eventNamespace);
$module.removeData(moduleNamespace); $module.removeData(moduleNamespace);
@ -197,7 +198,7 @@ $.fn.sticky = function(parameters) {
}, },
save: { save: {
scroll: function(scroll) {
lastScroll: function(scroll) {
module.lastScroll = scroll; module.lastScroll = scroll;
}, },
positions: function() { positions: function() {
@ -402,7 +403,7 @@ $.fn.sticky = function(parameters) {
; ;
// save current scroll for next run // save current scroll for next run
module.save.scroll(scroll.top);
module.save.lastScroll(scroll.top);
if(elementVisible) { if(elementVisible) {
@ -562,6 +563,7 @@ $.fn.sticky = function(parameters) {
module.unbind(); module.unbind();
module.unfix(); module.unfix();
module.resetCSS(); module.resetCSS();
module.remove.offset();
}, },
resetCSS: function() { resetCSS: function() {

Loading…
Cancel
Save