所以我有一個設置,在一個div上懸停觸發一個單獨的div來展開。我按預期工作,但遇到了一些困難。如何在徘徊時保持觸發div擴展?
這裏是一個工作示例: http://jsfiddle.net/9rshL6hk/
兩個問題:
- 如果您快速懸停來回所有按鈕#div的,那麼隊列積聚。它可以在每個按鈕的基礎上正常工作,但在快速懸停在多個元素上時會崩潰。
- 這是一個有點棘手的解釋。基本上我想將鼠標移動到展開的子菜單div中,而不是立即收縮。下面的增強描述。
(希望達到:當鼠標離開「按鈕1」格,然後將「子菜單1」的div將保持擴張,但它就會一直只在鼠標仍然在徘徊擴大了「子菜單1' 格。基本上只是擴展的屬性‘按鈕1’的div到‘子菜單1’,使其可以保持打開狀態就像你使用任何典型的鍵/子菜單設置的期望。)
jQuery
$("#button1").data("panelId", "#submenu1");
$("#button2").data("panelId", "#submenu2");
$("#button3").data("panelId", "#submenu3");
$("#button1, #button2, #button3").hover(function() {
var first = true;
var panelId = $(this).data("panelId");
$(".chain").not(panelId).slideUp(function() {
if (first) {
first = false;
$(panelId).stop().slideToggle(400);
}
});
});
HTML
<div id="button1">Button 1</div>
<div id="button2">Button 2</div>
<div id="button3">Button 3</div>
<div id="submenu1" class="chain">Submenu 1</div>
<div id="submenu2" class="chain">Submenu 2</div>
<div id="submenu3" class="chain">Submenu 3</div>
CSS
#button1,#button2,#button3 {
display:inline;
background-color:LightBlue;
margin:2px;
font-size:30px;
}
.chain {display:none;}
#submenu1 {
background:red;
width:200px;
height:100px;
}
#submenu2 {
background:blue;
width:300px;
height:200px;
}
#submenu3 {
background:orange;
width:400px;
height:300px;
}
尋求調試幫助的問題(「爲什麼不是這個代碼工作?」)必須包括所需的行爲,特定的問題或錯誤以及在問題本身**中重現**所需的最短代碼。請爲jsfiddle.net添加您的html,無論出於何種原因失效。 – 2015-02-06 06:52:18
Gotcha。我將其更新爲包含相關的HTML和CSS。 – nuclearsugar 2015-02-06 16:00:54