按时间更改div位置

时间:2014-10-14 04:03:04

标签: jquery css

我想每200ms更改 div 的左上角和左上角,为什么这段代码不起作用?

$(document).ready(function(){
    setInterval(function () {
        //$('#quatao').css("top", "+=20"); it's work!!!!
        if (parseInt($("#quatao").css("top"),10) < 350) { 
             $("#quatao").css("top", "+=20", "left", "-=30");
         }
         else if (parseInt($("#quatao").css("top"),10) > 500) {
             $("#quatao").css("top", "-=20", "left", "+=30");
         }
    }, 200);
});

2 个答案:

答案 0 :(得分:2)

通过查看代码我可以看到,你应该在$(“...”)。css调用中使用对象而不是逗号列表。

$("#quatao").css({"top": "+=20", "left": "-=30"});

$("#quatao").css({"top": "-=20", "left": "+=30"});

注意,当只需要更改一个值时,逗号分隔有效,但对于两个或更多值,需要一个json对象。

Check out different usages for .css here

答案 1 :(得分:0)

您必须最初设置CSS的最高位置,否则&#39; $(&#34; #quatao&#34;)。css(&#34; top&#34;)&#39;应该返回&#39; auto&#39;而不是数字。

可能很简单:

<div id="quatao" style="top:0px;left:0px"></div>

检查这是否是您正在寻找的内容:http://jsfiddle.net/8g1Lzr5c/1/