我有一个带有四个项目按钮的页面,当用户单击这些按钮时,内容应该向下滑动。
如果它已经是可见内容,则该内容必须向上滑动,然后正确的内容应向下滑动。
一切正常,但是如果用户在项目按钮之间快速单击,幻灯片就会卡住并开始出现在其他幻灯片之上。
这是一个例子:http: //jsfiddle.net/7t6Eh/42/
如果用户在项目之间单击“慢”,一切正常。
- 重新创建错误 单击项目按钮之间的快速。
我已经尝试使用 '.is(": visible")' 但得到了相同的结果。
谁能帮我吗?
代码
var active = 0;
$("#item1").click(function(){
if (active == 0){
$("#ContentList1").stop().slideToggle(function() {
active = 1;
});
} else {
if (active != 1){
$("#ContentList" + active).stop().slideToggle(function() {
$("#ContentList1").stop().slideToggle(function() {
active = 1;
});
});
}
}
});
$("#item2").click(function(){
if (active == 0){
$("#ContentList2").stop().slideToggle(function() {
active = 2;
});
} else {
if (active != 2){
$("#ContentList" + active).stop().slideToggle(function() {
$("#ContentList2").stop().slideToggle(function() {
active = 2;
});
});
}
}
});
$("#item3").click(function(){
if (active == 0){
$("#ContentList3").stop().slideToggle(function() {
active = 3;
});
} else {
if (active != 3){
$("#ContentList" + active).stop().slideToggle(function() {
$("#ContentList3").stop().slideToggle(function() {
active = 3;
});
});
}
}
});
$("#item4").click(function(){
if (active == 0){
$("#ContentList4").stop().slideToggle(function() {
active = 4;
});
} else {
if (active != 4){
$("#ContentList" + active).stop().slideToggle(function() {
$("#ContentList4").stop().slideToggle(function() {
active = 4;
});
});
}
}
});