我陷入了一个切换()噩梦,并最终寻求帮助。处理多个切换
我想是非常简单的,我有三个环节:
a.showcountries.bronze
a.showcountries.silver
a.showcountries.gold
和三盒:
.countries.bronze
.countries.silver
.countries.gold
你或许可以AREADY看到我想要做的事。所有的盒子都是隐藏的默认购买,当我点击青铜时,它会滑下青铜,再次点击它就会滑落,依此类推。我遇到的问题是,所有三个盒子都占据了页面上的相同空间,所以我一次只能打开一个盒子。所以我点击青铜,下滑动青铜箱,如果我再单击银应该回到向上滑动和银一个滑下......
$('a.showcountries.bronze').toggle(
function(){
$('.countries.silver, .countries.gold').slideUp();
$('.countries.bronze').slideDown();
},
function(){
$('.countries.bronze').slideUp();
}
);
$('a.showcountries.silver').toggle(
function(){
$('.countries.bronze, .countries.gold').slideUp();
$('.countries.silver').slideDown();
},
function(){
$('.countries.silver').slideUp();
}
);
$('a.showcountries.gold').toggle(
function(){
$('.countries.silver, .countries.bronze').slideUp();
$('.countries.gold').slideDown();
},
function(){
$('.countries.gold').slideUp();
}
);
我挣扎得到的转换工作,如切换似乎不同步,有时我最终不得不在两次点击之前点击一个链接。我也确信这是一个使用很少很多代码的解决方案。我确实尝试过检测这个类并将它传递给一个通用函数来完成所有这些,但无法让它玩。
您应该将您的元素类(例如.showcountries.gold)更改为.showcountries_gold或类似的东西,只需删除类名的中间点即可。 – kst 2010-11-17 09:46:35
@kst:这些点不是类名的一部分;他们分隔分开的类。在CSS的选择器语法中,'div.class-a.class-b'选择'class-a'和'class-b'的'div'。 – 2010-11-17 09:50:00
感谢上帝的人传统上只颁发三种类型的奖牌,如果有五个,你会怎么做? :P – 2010-11-17 09:56:57