我正在努力实现这一点,当用户滚动 - 禁用一个元素时。当用户不滚动时,将元素还原为原始状态。
制作第一个要求不是问题,我不知道如何将其转换为以前的状态。 以下是用户滚动时执行操作的代码:
$(window).scroll(function(){
$('#box').css('display','none');
});
我尝试使用if-else语句,但我没有让它工作。这是手头上的小提琴:
答案 0 :(得分:1)
你可以使用一个小技巧(超时技巧)
由于滚动不是连续事件,因此在滚动时会多次触发
var timeout;
$(window).scroll(function(){
clearTimeout(timeout);
$('#box').css('display','none');
timeout = setTimeout(function(){
$('#box').css('display','block');
},200);
});
演示---->
http://jsfiddle.net/y7ekd/1/
答案 1 :(得分:0)
使用超时限制它,滚动事件会激活许多次,因此必须对其进行限制以避免闪烁。
$(window).on('scroll', function(){
$('#box').hide();
clearTimeout($(this).data('timer'));
$(this).data('timer', setTimeout(function() {
$('#box').show();
}, 300));
});