javascript中的webkit转换语法?

时间:2011-09-14 04:38:05

标签: javascript css css3 webkit css-transitions

我在这里寻找webkitTransition对象引用

 function spawnAnimation(what){
    //sets the moving element
    var moveingEl = document.getElementById(what);
    //gives temp transition property
    moveingEl.style.WebkitTransition = "left 2s";
   // moveingEl.style.webkitTransition = "top 500ms";

   var cLeft = moveingEl.style.left
   var cleft = Number(cLeft.slice(0, -2));

    var cTop = moveingEl.style.top
   var cTop = Number(cTop.slice(0, -2));

   moveingEl.style.left = cLeft+200 + "px";

}

这不起作用。我想给元素一个过渡属性,然后让它向右移动。调用此代码时,它会立即向右移动而不显示动画。糟糕:(。我不想在CSS中预定义它,我想动态添加它然后将其删除。

5 个答案:

答案 0 :(得分:6)

使用style.setProperty。

moveingEl.style.setProperty("-webkit-transition", "left 5s linear");

moveingEl.style.setProperty("left", "200px");

http://jsfiddle.net/7b4VZ/3/

答案 1 :(得分:2)

允许渲染的1ms让线程返回。

setTimeout(function() {
    myElement.style.height = '200px'; /* or whatever css changes you want to do */
}, 1);​

答案 2 :(得分:1)

您可以使用:

element.style.webkitTransition = "set your transition up here"

答案 3 :(得分:0)

我知道这是一种解决方法,但您可以使用jQuery吗?

$(moveingEl).css('-webkit-transform', 'translateX(200px)');

答案 4 :(得分:0)

<script>
        $(document).ready(function(){

                var x = 100;
                var y = 0;
            setInterval(function(){
                x += 1;
                y += 1;
                var element = document.getElementById('cube');
                element.style.webkitTransform = "translateZ(-100px) rotateY("+x+"deg) rotateX("+y+"deg)"; //for safari and chrome
                element.style.MozTransform = "translateZ(-100px) rotateY("+x+"deg) rotateX("+y+"deg)"; //for firefox
            },50);
            //for other browsers use:   "msTransform",    "OTransform",    "transform"

        });
    </script>