我不知道如何更改代码,removeClass函数可以完成他的工作。目前,这个功能不起作用(我想是这样)。最大的问题是:
当我点击菜单项“1”时,出现黑框,菜单项“1”文字颜色变为蓝色。可以合理地假设,当我点击菜单项“2”时,比第一个菜单项“1”颜色变为黑色(不是蓝色),而第二个菜单项“2”,颜色变为蓝色。然而,他们两个都是蓝调。
代码的一小部分:
$(document).ready(function () {
$('#icons').click(function () {
$('#chat-drop,#chat-drop2').hide()
if ($('#chat-drop').is(":visible")) {
$('#chat-drop').hide()
$('#rodyti').removeClass('active');
} else {
$('#chat-drop').show()
$('#rodyti').addClass('active');
}
return false;
});
完整代码:http://jsfiddle.net/wW75v/9/
我将不胜感激任何帮助
答案 0 :(得分:1)
只是一个建议,代替使用id
,您可以使用class
。它会减少你的代码,如:
发件人强>
<div id="icons">
<div id="rodyti">1</div>
<div id="chat-drop">Menu1</div>
</div>
<div id="icons2">
<div id="rodyti2">2</div>
<div id="chat-drop2">Menu2</div>
</div>
以强>
<div class="icons">
<div class="rodyti">1</div>
<div class="chat-drop">Menu1</div>
</div>
<div class="icons">
<div class="rodyti">2</div>
<div class="chat-drop">Menu2</div>
</div>
JS CODE FROM
$('#icons').click(function () {
$('#chat-drop,#chat-drop2').hide()
// Your code here..
return false;
});
$('#icons2').click(function () {
$('#chat-drop,#chat-drop2').hide()
// Your code here..
return false;
});
仅限于此
$('.icons').click(function () {
$('.chat-drop').hide()
// Your code here..
return false;
});
答案 1 :(得分:0)
你的问题似乎是你在#chat-drop是(“:visible”)时正在执行removeClass(),但是如果因为你刚刚隐藏了#chat-drop而不会进入线。
您可以将removeClass()添加到rodyti和rodyti2,以便始终将其删除。但请注意,如果你在它上面触发hide(),则is(“:visible”)是没用的。