我是Prototype的新手(我已经使用了jQuery多年)而且我试图淡化已经通过ajax请求插入DOM的元素。
我尝试了以下内容:
$('element').insert({
bottom: '<div id="element2" style="display:none;">Test</div>'
});
new Effect.Appear( 'element2', { duration: 0.25 } );
元素已成功插入,但仍保持隐藏状态。
答案 0 :(得分:0)
根据这个小提琴起作用http://jsfiddle.net/8KA6u/ - 但是你可能有竞争条件。尝试在下一次运行事件循环时运行Appear,将其包含在setTimeout()
中,延迟为0
$('element').insert({
bottom: '<div id="element2" style="display:none;">Test</div>'
});
setTimeout(function(){
new Effect.Appear( 'element2', { duration: 0.25 } );
},0);
Scriptaculous还会直接向元素添加一些Effect方法,因此您可以像这样运行它们
setTimeout(function(){
$('element2').appear({duration:0.25});
},0);
添加到元素的方法列表 http://madrobby.github.io/scriptaculous/effect-methods/