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

天清云淡
  • 2
新手上路,请多包涵

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


<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);
回复
阅读 1.5k
5 个回答

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

夜无霜
  • 4
新手上路,请多包涵

图片描述

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

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

王猛
  • 2
新手上路,请多包涵

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

你知道吗?

宣传栏