mootools Fx.Slide在隐藏元素上切换不起作用

时间:2012-07-02 19:01:10

标签: javascript mootools mootools-more

我正在加载一些带有请求的html,并将其用作所有其他项目的模板。

我的代码是:

itemDummy.destroy()

this.content.each(function(task) {
    //
    //more code
    //
    item = itemDummy.clone();

    detailBox = item.getElement('.descriptionBox');

    detailBox.id = "description" + task.id;
    //detailBox.toggle ()
    //open it on click
    item.addEvent("click", function() {
        new Fx.Slide("description" + task.id).toggle();
    });

    //
    //more code
    //
    detailBox.inject(itemWrapper);
    item.inject(wrapper);
});

如果行detailBox.toggle ()被激活,我的框不显示,但Fx动画不起作用(框永远不会显示)。 但是当我设置此行注释时,显示了detailBox并且切换动画正在运行,但我想在开头有一个隐藏的框。

但是当我将此行设置为注释时,将显示detailBox并且切换动画正在运行,但我希望Box不可见以

开头

1 个答案:

答案 0 :(得分:1)

遵循Johan的评论,它在注入后起作用:

detailBoxIds.each(function (id) {
    new Fx.Slide(id).hide();

    //instead of $$(id).hide () or $$(id).toggle () 
    //a direct toogle/hide hides the element, but the Fx.Slide can't open it again
})

$$('.taksItemWraper').addEvent ("click", function () {
    var id = this.getElement('.descriptionBox').id;

    new Fx.Slide(id, { 
        duration:300
    }).toggle();
})