是否内置支持通过x递增属性

时间:2011-06-19 19:46:08

标签: javascript dojo

当我们在dojo中设置animateProperty时,我们可以这样做吗

dojo.animateProperty({
  node:byId("ss"),
  property: { left: "+=100" }
});

如何做到这一点。想要将容器100px从当前位置移动到右边......

3 个答案:

答案 0 :(得分:2)

dojox.fx有很多额外的动画,有些人经常使用。如果要相对于当前位置滑动节点,可以使用dojox.fx.slideBy()。加载类并等待dom-ready事件的完整示例。

dojo.require("dojox.fx");
dojo.ready(function(){
    dojox.fx.slideBy({
        node:     dojo.byId('slide'),
        duration: 2000,
        top:      100,
        left:     -50
    }).play();
});

这将滑动标识为slide 100px的节点,向左滑动50px。

答案 1 :(得分:1)

此处没有内置支持,因此您必须先手动获取原始位置。

dojo.animateProperty({
    node: "ss",
    properties: {
         left: function(node){
             return node.style.offsetLeft + 100;
         }
    }
});

Here's a thread in the Dojo forums about it.

答案 2 :(得分:0)

onAnimate回调可以是我们可以确定当前样式属性值的正确位置,而不是从节点获取样式属性值。

相关问题