在animate()函数中,({“marginLeft”:( - 1 * width)+“px”})和({“marginLeft”:“ - 512px”})之间的任何差异

时间:2016-07-22 03:36:57

标签: javascript jquery

我想要实现选框效果,并发现如果设置listone.animate({"marginLeft":"-512px"}),它就无法正常工作;这是代码:

$(document).ready(function(){
    function marqueen(){

        var listone=$("ul").find("a").eq(0);
        var width=$("img").children().eq(0).width();

        listone.animate({"marginLeft":(-1*width)+"px"},1000,function(){
        $(this).parent("li").css("margin-left","0").appendTo("ul");

      });
    }
    setInterval(marqueen,2000);
});

1 个答案:

答案 0 :(得分:0)

在第一种情况下,宽度是动态的。这意味着缩小浏览器或扩展,或者在响应式视图的情况下,将从此注册不同的width

var width=$("img").children().eq(0).width();

因此每次marginLeft都是不同的值

({“marginLeft”:(-1*width)+“px”})

({“marginLeft”:“-512px”})中,该值始终固定为 - 512px&独立于任何其他参数