我正在使用以下代码导致基于ul的下拉菜单打开,我设置了css,以便在您悬停时“按钮”改变颜色,但我需要它来保持菜单的颜色开。
<script>
$(document).ready(function () {
$('#nav li').toggle(
function () {
//show its submenu
$('ul', this).slideDown(100);
$('#libg').toggleClass('clicked');
},
function () {
//hide its submenu
$('ul', this).slideUp(100);
$('#libg').toggleClass('notclicked');
}
);
});
</script>
萤火虫没有任何错误,幻灯片事件工作得很好,也许我不是说正确的事情? #libg是包含“按钮”的li的id。单击/未单击的类仅更改背景颜色。
答案 0 :(得分:1)
我希望您想要同时切换clicked
类,因此当它被移除时,它处于notclicked
// replace this...
// $('#libg').toggleClass('notclicked');
// with this...
$('#libg').toggleClass('clicked');
答案 1 :(得分:0)
您只需在“已点击”类中指定颜色,然后在两个函数中切换颜色:
$('#nav li').toggle(
function () {
//show its submenu
$('ul', this).slideDown(100);
$('#libg').toggleClass('clicked');
},
function () {
//hide its submenu
$('ul', this).slideUp(100);
$('#libg').toggleClass('clicked');
}
);
关闭菜单时,在菜单项上留下的“clicked”类中显示。
答案 2 :(得分:0)
你能在功能中设置颜色吗?
$(this).css({color: '#f00'});
...设置颜色,然后......
$(this).css({color: ''});
......取消它。虽然使用add / removeClass
可能会更好