2015-04-22 80 views
1

我有溢出的div:滚动和我想在用户停止滚动页面时加上超时div(加上超时)。 这意味着我需要检测用户是否停止滚动其中一个div和整个页面 - $(窗口)。检测窗口和div上的滚动停止

如果用户滚动再次淡入应停止

$(window).scroll(function() { 
    $('#extra').stop().fadeOut(30, "linear"); 
});  

我用这个代码的时刻来源:http://jsfiddle.net/wtRrV/219/

$.fn.scrollStopped = function(callback) {  
    var $this = $(this), self = this; 

    $this.scroll(function(){     
    if ($this.data('scrollTimeout')) { 
     clearTimeout($this.data('scrollTimeout')); 
    } 

    $this.data('scrollTimeout', setTimeout(callback,500,self)); 
    }); 
}; 

$('#div1, #div1').scrollStopped(function() 
    $('#extra').delay(3000).fadeIn(2000, "linear"); 
}); 

我的基本现在的问题是:我如何将这两个选择器 - $('#div1, #div1') - 与$(window)当用户停止在其中一个div和/或整个页面上滚动时开始淡入。

感谢您的任何帮助!

+0

一个误导性的标题位。 ;-) – Shikkediel

回答

0

使用.add()

var combined = $(window).add('#div1'); 

combined.scrollStopped(function() 
    $('#extra').delay(3000).fadeIn(2000, "linear"); 
}); 

jsfiddle