У меня каверзная маленькая проблема. В этом примере я создал два переключателя и два цветных квадрата: http://jsfiddle.net/amQCN/
Я пытаюсь убедиться, что только один переключатель может быть выключен одновременно, поэтому всегда отображается хотя бы один цветной квадрат - или оба .
Я тоже пытался понять; если переключатель (1) установлен на на , и вы нажимаете переключатель (2), он переключается на (2) на и (1) на - как указано выше тогда вы не сможете выключить переключатель (2) , но можете включить переключатель (1) обратно на , чтобы они оба были включены .
Надеюсь, это имеет смысл! - Кто-нибудь может предложить метод, чтобы заставить это работать?
<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;}