JQuery手风琴:将独特风格应用于“打开”状态
问题描述:
我发现了一个简单的JQuery手风琴结构,它使用DIV而不是典型的UL结构。JQuery手风琴:将独特风格应用于“打开”状态
当您点击菜单 DIVS,一个特定的对应面板 DIV幻灯片打开。 如何制作面板以便在面板打开时对应菜单 DIV是否应用了不同的样式?
JS:
$(document).ready(function() {
$("#menu1").data("panelId", "#collapse_about");
$("#menu2").data("panelId", "#collapse_portfolio");
$("#menu3").data("panelId", "#collapse_contact");
$("#menu1, #menu2, #menu3").click(function() {
var first = true;
var panelId = $(this).data("panelId");
$(".class1").not(panelId).slideUp(function() {
if (first) {
first = false;
$(panelId).slideToggle(400);
}
});
});
});
CSS:
.class1 {width:200px; height:200px; border:1px solid black; display:none;}
#collapse_about {background:red; margin-bottom:10px;}
#collapse_portfolio {background:blue; margin-bottom:10px;}
#collapse_contact {background:orange; margin-bottom:10px;}
#menu1 {cursor:pointer; display:block; width:200px; border:1px solid black; margin-bottom:10px;}
#menu2 {cursor:pointer; display:block; width:200px; border:1px solid black; margin-bottom:10px;}
#menu3 {cursor:pointer; display:block; width:200px; border:1px solid black; margin-bottom:10px;}
HTML:
<div id="menu1">Menu 1</div>
<div id="collapse_about" class="class1">Content 1</div>
<div id="menu2">Menu 2</div>
<div id="collapse_portfolio" class="class1">Content 2</div>
<div id="menu3">Menu 3</div>
<div id="collapse_contact" class="class1">Content 3</div>
这里是的jsfiddle代码:http://jsfiddle.net/Gaelen/aTR2b/2/
我真的很感激任何帮助! :)
答
这是乌拉圭回合的答案:
http://jsfiddle.net/maniator/aTR2b/3/
我加入CSS:
.menu_active{ background: grey;}
而对于JS:
$("#menu1, #menu2, #menu3").click(function() {
$(".menu_active").removeClass('menu_active');
$(this).addClass('menu_active');
//... rest of the fn
答
菜单DIV将得到ui-state-active样式在打开时应用于它。使用它。
太棒了。非常感谢你! – Gaelen 2011-03-29 21:46:27
然后当你得到你想要的正确答案时,什么是正确的方式在stackoverflow。你选择它作为'接受'比人们最有可能帮助你更多的未来Q's :-) – Neal 2011-03-29 21:47:26
哦,我以为我已经这样做了。那是大绿色的勾号? – Gaelen 2011-03-29 22:22:06