jq 在setInterval 中使用 animate() aimate()不执行

新手上路,请多包涵

最近想要做一个类似京东头条的功能,但将动画放在计时器里面,动画始终不执行,怎么破?


<div class="bg-white linelist">
    <ul class="list-unstyle" id="lineScroll">
        <li class="listView">标题标题1</li>
        <li class="listView">标题标题2</li>
        <li class="listView">标题标题3</li>
        <li class="listView">标题标题4</li>
    </ul>
</div>
   setInterval(function () {
        $("#lineScroll").animate({
            "-webkit-transform": "translate3d(0px,-23px, 0px)",
            transform: "translate3d(0px,-23px, 0px)"
        }, 500, "swing", function () {
            $(this).find("li:first").appendTo(this);
        })
    },3000);
阅读 3.5k
5 个回答

因为jQuery的animate函数是不支持transform属性的,你可以换成left或right来实现,或者通过添加class来实现

新手上路,请多包涵

图片描述

animate会有css属性过滤,有效的就那么几个。

既然已经能使用transform了,为什么还要用animate呢

新手上路,请多包涵

transform搭配setInterval就能制作出各种好看的特效了,这里没有必要使用animate了!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题