【发布时间】:2012-02-27 18:01:11
【问题描述】:
我是 javascript 和 mootols 的新手,我有一个关于 Mootools 延迟和事件处理的问题。
我的目标:菜单出现在主要位置,然后在一段时间后移动到次要位置并切换不透明度,然后在 mouseenter 上它以完全不透明度重新出现在主要位置,而在 mouseleave 上它又回到次要位置.
我已经解决这个问题一段时间了,我已经阅读了很多演示和问题,但我无法直截了当地说...我在 mouseenter mouseleave 上遇到了问题(有延迟,因此,如果我将鼠标放在刚刚加载的菜单上一段时间后,菜单就会转到它的次要位置)或者如果我只是将鼠标移入和移出菜单会产生完全的混乱。
代码如下:
window.addEvent('domready', function(){
var el = $('menu'),
color = el.getStyle('backgroundColor');
// Morphs to secondary style
var menuHide = function(){
this.morph({'background-color': '#000000',
'opacity': 0.6,'margin-top': -43}) };
menuHide.delay(5000, el);
$('menu').set('duration', 100).addEvents({
mouseenter: function(){
// Morphs back to the primary style
this.morph({
'opacity': 1.0,
'background-color': '#B51000',
'margin-top': 0
});
},
mouseleave: function(){
// Morphs back to the secondary style
this.store("timer", (function(){
this.morph({
'opacity': 0.6,
'background-color': '#000000',
'margin-top': -43
});
}).delay(2000,this));
}
});
你能帮帮我吗?我很绝望!
【问题讨论】:
-
这不是Java的问题,而是JavaScript的问题,两者有很大的不同。请删除 Java 标记并添加 Javascript 标记。
标签: javascript events mootools delay mouseenter