3

我试图弄清楚为什么这个脚本不起作用。我所拥有的是div隐藏在另一个后面div,并且需要它在用户滚动页面后进行动画处理。

这是我的脚本:

$(document).scroll(function(){   
    var top = $(document).scrollTop();

    if (top > 50) {        
      $('#merch').animate({ bottom: 200 }, 
        {duration: 1000, easing: 'easeOutBounce'});         
        }        
    else {
      $('#merch').slideDown();
    }        
});
4

2 回答 2

0
$(document).scroll(function(){   
var top = $(document).scrollTop();

if (top > 50) {        
  $('#merch').animate({ top: '500px' }, 
    {duration: 1000});        
    }        
else {
  $('#merch').slideDown();
}        });
  1. 我收到一个关于您传递的缓动值的错误,可能需要调查一下。
  2. 动画值需要用 px 值括在引号中
  3. 确保商品具有“位置:相对;” 在 CSS 中。没有它,jQuery 无法移动元素
于 2012-10-18T20:40:33.307 回答
-1

没有 onscrollcomplete 功能,但您可以一起使用猴子扳手:

var int;

$(window).scroll(function(){
    clearTimeout(int);
    int = setTimeout(function(){
        //animation here
    }, 300);
});

等待 300 毫秒,然后触发动画函数将 div 拉到页面顶部。

于 2012-10-19T00:48:37.303 回答