2012-01-10 54 views
0

我有以下的jQuery插件:http://jqueryfordesigners.com/slide-out-and-drawer-effect/jQuery的:隱藏「活動類」,當鼠標不超過

現在的問題是:我想關閉激活「抽屜」當鼠標還沒有結束的元素。 jQuery被設置爲保持活動狀態,直到mouseover應用到另一個抽屜元素。如果沒有在任何抽屜上懸停,我如何關閉所有抽屜?

初始化代碼:

$(function() { 
    $('UL.drawers').accordion({ 
     // the drawer handle 
     header: 'H2.drawer-handle', 

     // our selected class 
     selectedClass: 'open', 

     // match the Apple slide out effect 
     event: 'mouseover' 
    }); 
}); 

而且,當我申請了「開放」類抽屜元素的CSS(.drawer-handle.open {}),活動抽屜手柄不變色(動畫),因爲它應該。這是爲什麼?我在Joomla 1.7內使用PHP

謝謝!

+1

@Emmanuel:在編輯爲什麼你會_introduce_錯誤? – 2012-01-10 16:19:46

+0

您可以在包裝整個菜單的div的mouseout上隱藏抽屜。 – 2012-01-10 16:20:02

+0

謝謝你的回答肖恩。我是否關閉了jquery 標籤中的父/包含Div元素?以及如何調用該功能? – DextrousDave 2012-01-10 20:32:19

回答

0

這裏是你的部分解決方案:

$(function() { 
    var $accordian = $('UL.drawers').accordion({ 
     // the drawer handle 
     header: 'H2.drawer-handle', 

     // our selected class 
     selectedClass: 'open', 

     // match the Apple slide out effect 
     event: 'mouseover', 

     // allow all drawers to be closed (default is "true" - always keep a draw open) 
     alwaysOpen: false 
    }).activate(false); 

    $('UL.drawers').mouseout(function() { 
     // close all the drawers when the mouse leaves the parent list 
     $accordian.activate(false); 
    }); 
}); 

我說的部分,因爲我覺得應該是這樣設置的行爲是不是很順利,但如果結果是接近你是什麼尋找它應該讓你開始正確的方向。

你可以用這個的jsfiddle看到它在行動:http://jsfiddle.net/gKNGh/1/

+0

謝謝,我真的很感謝你的幫助。它確實有幫助。 – DextrousDave 2012-01-10 21:32:43

+0

但我有一個大的問題。我的類和代碼與示例中的完全相同,但「打開」類未應用於當前打開的抽屜。我該如何解決這個問題?備用代碼/方法? – DextrousDave 2012-01-10 22:06:03

+0

@DextrousDave你提到你用'.drawer-handle.open'設置樣式有問題,但是我用來製作jsFiddle的示例代碼完全可以做到,而且沒有問題。你確定你沒有其他的選擇器會覆蓋這些頭文件的樣式嗎?如果open類沒有被應用,我會感到驚訝,但是它會被動態添加,所以您需要使用Chrome的「Inspect Element」來查看它。它不會簡單地顯示出來,當你「查看源代碼」 – 2012-01-10 22:12:47

相關問題