在javascript中向右滑动

时间:2013-01-28 09:31:18

标签: javascript animation

当我点击它的孙子时,我正试图动画一个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++;
}
}
}

2 个答案:

答案 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中翻译的信息

这可以帮助你