【问题标题】:jQuery Scroller animationjQuery 滚动动画
【发布时间】:2013-03-04 08:20:29
【问题描述】:

我正在研究视差滚动条,需要一些关于 jquery 动画的帮助。

if($(window).scrollTop() >= 180){
    $("#wasBorn").animate({"top": "+=20px"}, "fast");       }

当页面滚动超过 180 次时,div 正在移动,我怎样才能将其停止在特定位置让我们说 top:350px

【问题讨论】:

    标签: jquery scroller


    【解决方案1】:
    if( $(window).scrollTop() >= 180
        && parseInt( $('#wasBorn').css('top') )<=330 ){
      $("#wasBorn").animate({"top": "+=20px"}, "fast");
    }
    

    虽然这不是一个完美的解决方案,因为它#wasBorn 元素可能会在 350px 之前停止(例如,如果它在 top 值为 320 时触发,因为在动画之后,它将是在 340 - 小于目标 350,但大于 330 的测试)。但是,由于我无法再看到您是如何触发此操作的,因此这是我目前能想到的最佳“现成”建议/解决方案。

    或者……

    $wasBorn = $('#wasBorn');
    ....
    if( $(window).scrollTop() >= 180 ){
      var curr = parseInt( $wasBorn.css('top') );
      if( curr<350 ){
        $wasBorn.animate(
          { top : Math.min( 350 , curr+20 ) } ,
          'fast'
        );
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2011-12-24
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 2013-07-08
      • 2012-08-01
      • 1970-01-01
      相关资源
      最近更新 更多