0

当我单击它的孙子时,我正在尝试为 div 设置动画以向右移动。但是,我经常遇到时间问题。我怀疑我没有setTimeout正确使用该功能。有人可以看看他们是否发现错误。如果我自己的函数有效而不是使用jquery函数,我更愿意,因为我之前没有这方面的经验jquery

function sendrequest(element) {
    var element=element.parentNode.parentNode;
    var i=0;

    while(i<150) {
        right=i+"%";
        myVar=setTimeout(element.style.right=right,3000);
        i++;
    }
}
4

2 回答 2

2

是的,您在调用 async 之前同步递增setTimeout。这是如何完成的:

var element = element.parentNode.parentNode;
var i=0, myVar;
function sendrequest(){
    if (i < 150) {
       var right = i+"%";
       element.style.right = right;
       i++;
       myVar = setTimeout(sendrequest, 3000);
    }
}
于 2013-01-28T09:34:36.997 回答
0

请在使用 TRANSLATE 的地方添加 css 样式。所以这会对你有所帮助,而不是使用 setTimeOut,因为它基本上是系统时钟周期,它会产生令人讨厌的结果,所以我宁愿不要依赖它

只需使用以下格式

    el.on('click', function(){
          document.getElementByid("#id").style = "xyz";

        })

并在 CSS 样式表中使用类似这样的东西

         .xyz{translate-x://x position in pixels}

有关更多信息,请阅读有关向元素添加样式并在 CSS 中翻译的信息

愿这对你有帮助

于 2013-01-28T09:36:24.273 回答