gpt4 book ai didi

javascript - 脚本性的blindUp/blindDown问题

转载 作者:行者123 更新时间:2023-11-28 01:44:45 27 4
gpt4 key购买 nike

我编写了一个小脚本,根据“显示”属性观察点击和上/下百叶窗,并向blindUp 添加了一个队列到结束参数,以避免更严重的显示问题。这显然不是实现此目的的方法,因为如果在效果中间调用单击事件,则会出现显示错误。这是代码:

<script type="text/javascript">
$$('#leftnav_container #modules h2').each(function(El){
El.observe('click',function(){
container = this.next('div');
display = container.getStyle('display');
if(display == 'none'){
container.blindDown({duration: 0.3});
}else{
container.blindUp({duration: 0.3, queue: 'end'});
}

})
});
</script>

同样,问题是我依赖“显示”。正确的方法是什么?

最佳答案

这应该会简化它

$$('#leftnav_container #modules h2').invoke('observe','click',function(){
container = this.next('div');
Effect.toggle(container , 'blind', { duration: 0.3 });
});

首先,如果您仅对从 $$() 返回的数组中的所有元素运行一个方法那么你可以使用PrototypeJS方法invoke() .

http://api.prototypejs.org/language/Enumerable/prototype/invoke/

然后Effect.toggle()将检查元素是否可见并执行适当的向上/向下效果。

尝试一下,让我知道它是否适合您。

关于javascript - 脚本性的blindUp/blindDown问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20471510/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com