0
我有一个问题,就是如果按下某个键时如何维护/继续循环。我想通过案例1 /案例2 /案例3和案例4对页面进行动画处理,但是我想知道如果再次按下按钮(以及再次...),如何继续循环。我在这里阅读有关循环,但我无法弄清楚。通过按键循环jquery(case:1; etc ..)
在此先感谢,这里是我的代码:
var counter = 0;
$(document).bind('keydown', function(e) {
if(e.which == 37 || e.which == 39) {
counter++;
switch(counter) {
case 1:
$('#maikeximu,#dossier').stop()
.animate({
height: "toggle",
}, 1200, function() {
$('html,body').animate({
scrollTop: $("#maikeximu").next().offset().top
}, 1000);
});
break;
case 2:
$("#gal,#dossier, #viz").stop()
.animate({
height: "toggle",
}, 1200, function() {
$('html,body').animate({
scrollTop: $("#gal").next().offset().top
}, 1000);
});
break;
case 3:
$('#viz,#dossier').stop()
.animate({
height: "toggle",
}, 1200, function() {
$('html,body').animate({
scrollTop: $("#dossier").next().offset().top
}, 1000);
});
break;
case 4:
$('#maikeximu, #gal,#dossier').stop()
.animate({
height: "toggle",
}, 1200, function() {
$('html,body').animate({
scrollTop: $("#maikeximu").offset().top
}, 0);
});
break;
counter = 0;
return;
}
};
});
我希望更多地了解循环(一个大问题对我来说):)
你的代码应该在4个按键之后继续开始。它在做什么呢? –
它看起来就像是在案例4下设置了'counter = 0',所以每当你按下一个键时,它只会进入'case:1'。那是你正在经历的吗?大概你需要在突破'case:4'之前设置'counter = 0'? –
@ adam-marshall它卡住了。我无法再按箭头键。我从我的JS文件中删除了所有其他函数,以检查是否与代码没有冲突。 编辑:谢谢。我可以去看最后一个案例(4),但之后就被卡住了。 我在最后一次休息之前移动了计数器= 0,它的作用就像一个魅力。 :) – Maikeximu