我是一個JavaScript和mootols的新手,我有一個關於使用Mootools的延遲和事件處理的問題。Mootools:如何通過'mouseenter'和'mouseleave'來停止延遲事件
我的目標是:菜單出現在主要位置,然後在一定時間移動到第二位置並切換不透明度後,在鼠標輸入端以完全不透明度重新出現在主要位置,並在鼠標離開時返回到次要位置位置。
我一直在解決這個問題的一段時間,我讀過很多的演示和問題,但我不明白的地方...我有問題的鼠標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 *標籤。 – 2012-02-27 18:26:17