【发布时间】:2011-05-04 08:39:23
【问题描述】:
我有一个棘手的小问题。在这个例子中,我创建了两个开关和两个彩色方块:http://jsfiddle.net/amQCN/
我正在努力确保一次只能关闭一个开关,因此始终显示至少一个彩色方块 - 或两者。
我也一直在想办法;如果开关 (1) on,并且您单击开关 (2),它会切换到 (2) on 和 (1) off - 如上所述,您将无法将开关 (2)off 转回,但您可以将开关 (1) 转回 on,这样它们都 on。
我希望这是有道理的! - 任何人都可以提出一种方法来让它工作吗?
<ul id="switches">
<li><a id="switch1" href="#">1</a></li>
<li><a id="switch2" href="#">2</a></li></ul>
<ul id="squares">
<li id="square1"></li>
<li id="square2"></li></ul>
$(function() {
$('#switch1').toggle(function() {
$('#square1').css("visibility", "hidden");
$('#switch1').addClass("off");
}, function(){
$('#square1').css("visibility", "visible");
$('#switch1').removeClass("off");
});
$('#switch2').toggle(function() {
$('#square2').css("visibility", "hidden");
$('#switch2').addClass("off");
}, function(){
$('#square2').css("visibility", "visible");
$('#switch2').removeClass("off");
}); });
CSS
#switch1, #switch2 {background:grey; border:1px solid; border-radius:4px; color:white; cursor:pointer; display:block; float:left; margin:0 3px 5px 0; padding:6px; text-align:center; text-decoration:none; width:50px;}
#switch1.off, #switch2.off {background:white; color:#ccc;}
ul#squares li {float:left; margin:0 3px; padding:6px;}
#square1 {background:green; height:20px; width:25px;}
#square2 {background:orange; height:20px; width:25px;}
【问题讨论】:
-
虽然实时示例链接是一个很好的辅助问题,但始终将相关代码实际发布到问题本身中。人们不必通过链接来帮助您,外部链接可以被移动、修改、删除等。(请记住,StackOverflow 旨在为将来遇到类似问题的人提供资源,而不仅仅是您现在的问题. 因此确定整个事情仍然存在。)
-
好点,我现在更新问题。
标签: jquery toggle switch-statement