当我点击它的孙子时,我正试图动画一个div来移动到rght。然而,我不断遇到时间问题。我怀疑是我没有正确使用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++;
}
}
}
答案 0 :(得分:1)
是的,您在调用异步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);
}
}
答案 1 :(得分:0)
请在使用TRANSLATE的地方添加css样式。所以这对你有帮助,而不是使用setTimeOut,因为它基本上是系统时钟周期,可以给出讨厌的结果,所以我宁愿不依赖它
只需使用以下格式
el.on('click', function(){
document.getElementByid("#id").style = "xyz";
})
并在CSS样式表中使用类似这样的内容
.xyz{translate-x://x position in pixels}
有关更多信息,请阅读有关向元素添加样式和在CSS中翻译的信息
这可以帮助你