Javascript 在animate()函数中,({quot;marginLeft:(-1*宽度)px})和({quot;marginLeft:-512px})之间的任何差异

Javascript 在animate()函数中,({quot;marginLeft:(-1*宽度)px})和({quot;marginLeft:-512px})之间的任何差异,javascript,jquery,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.anima

我想实现字幕效果,并发现如果我设置了
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);
});

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

var width=$("img").children().eq(0).width();
因此每次
marginLeft
都将是不同的值

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


({“marginLeft”:“-512px”})中
值始终固定为-
512px
&与任何其他参数无关

是的,您是对的,但图片宽度是固定的,它是相同的图片,等于512px;