jquery滚动动画无法正常工作

时间:2017-01-10 07:47:43

标签: javascript jquery html css

我正在用jquery实现无限滚动,这里所有列表项都是从数据库渲染数据。一切都运作良好,但我的卷轴不滚动动画它看起来像它只是跳跃我怎么能让它动画不跳跃!...

[Jquery]

var item_width = $('.scroller li').outerWidth();
var left_value = item_width * (-1);
$('.scroller li:first').before($('.scroller li:last'));
$('.scroller').css({'left' : left_value});

$('#prev').click(function() {
    var left_indent = parseInt($('.scroller').css('left')) - item_width;
    $('.scroller').animate({'left' : '-='+left_indent}, 400, function(){
        $('.scroller li:first').before($('.scroller li:last'));
        $('.scroller').css({'left' : left_value});
    });
    return false;
});

$('#next').click(function() {
    var left_indent = parseInt($('.scroller').css('left')) - item_width;
    $('.scroller').animate({'left' : '+='+left_indent}, 400, function () {
        $('.scroller li:last').after($('.scroller li:first'));
        $('.scroller').css({'left' : left_value});
    });
    return false;
});

[风格]

*{margin: 0;padding: 0;list-style: none;}
.scroller{height:70px;overflow:hidden;}
.scroller li{float:left;display:inline-block;position:relative;border-bottom:1px solid #e8eef4;border-top:1px solid #e8eef4;border-right:1px solid #ddd;height:70px;width:25%;cursor:pointer;
    background-image: -moz-radial-gradient(top, #fff, #ddd);}
.scroller li:nth-child(4),.scroller li:nth-of-type(4){border-right:0}
.scroller li a{display:block;margin-top:8%;height:90%;font-size:x-small;text-align:center;}
.scroller .active,.scroller li:hover{background-image:-moz-radial-gradient(top, #ddd, #fff)}
.scroller .active:before{content:'';height:0;position:absolute;top:-1px;width:0;left:42%;border: 10px solid transparent;border-top-color:#fff;z-index:100}
.scroller li a img{border:1px solid #ccc;width:80%;height:40%}

[HTML]

<div>
   <ul class="scroller">
      <li class="item">01</li>
      <li class="item">02</li>
      <li class="item">03</li>
      <li class="item">04</li>
      <li class="item">05</li>
      <li class="item">06</li>
      <li class="item">07</li>
      <li class="item">08</li>
      <li class="item">09</li>
      <li class="item">10</li>
   </ul>
   <p class="tar"><a href="javascript:void(0);" id="prev">&lsaquo;</a><a href="javascript:void(0);" id="next">&rsaquo;</a></p>
</div>

1 个答案:

答案 0 :(得分:0)

你可以使用lucid.js,他们做得很好,我认为它可以节省你的时间。 它们有一个很好的API,可以让你选择要滚动的元素甚至整个页面。

如果有帮助,请告诉我。

此处是文档和演示的链接:http://ataredo.com/morphology/lucidscroll/