Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止循环_Javascript_Jquery_Loops - Fatal编程技术网

Javascript 防止循环

Javascript 防止循环,javascript,jquery,loops,Javascript,Jquery,Loops,我知道以前可能有人问过这个问题,但我就是找不到正确的答案。 我想防止此函数循环: var counter = 0; var height, length, sec, inner; var links = $('.projects li'); var containers = $('.projects .container'); $('.container #prev').click(function(){ counter = (--counter) < 0 ? length

我知道以前可能有人问过这个问题,但我就是找不到正确的答案。 我想防止此函数循环:

var counter = 0;
var height, length, sec, inner;  
var links = $('.projects li');
var containers = $('.projects .container');

$('.container #prev').click(function(){
    counter = (--counter) < 0 ? length - 1 : counter%length;
    console.log(counter);
    inner.stop().animate({top: -counter*height }, 800);
//this is where it loops
});

$('.container #next').click(function(){
    counter = (++counter) < 0 ? length - 1 : counter%length;
    console.log(counter);
    inner.stop().animate({top: -counter*height }, 800); 
//this is where it loops
});

links.click(function(){
    var index = links.index(this);
    var container = $(containers[index]);
    $(".projects_menu").css({'display':'none'});
    container.addClass('active');
    inner = container.find('.inner');
    sec = container.find('section');
    length = sec.length; 
    if (length < 2) {
        console.log(1);
        $('.container #prev, .container #next').css({'display':'none'});
    }
    height = $('.container').height();


});
var计数器=0;
变量高度、长度、秒、内部;
变量链接=$('.projects li');
var containers=$('.projects.container');
$('.container#prev')。单击(函数(){
计数器=(-计数器)<0?长度-1:计数器%长度;
控制台日志(计数器);
internal.stop().animate({top:-counter*height},800);
//这就是它循环的地方
});
$('.container#next')。单击(函数(){
计数器=(++计数器)<0?长度-1:计数器%长度;
控制台日志(计数器);
internal.stop().animate({top:-counter*height},800);
//这就是它循环的地方
});
链接。单击(函数(){
var索引=links.index(本);
var container=$(containers[index]);
$(“.projects_menu”).css({'display':'none'});
container.addClass('active');
inner=container.find('.inner');
sec=container.find('section');
长度=秒长度;
如果(长度<2){
控制台日志(1);
$('.container#prev,.container#next').css({'display':'none');
}
高度=$('.container').height();
});

非常感谢

您的代码似乎存在多个问题:例如,
length
在单击处理程序中使用时未定义,可能有多个处理程序对同一事件作出反应,因为冒泡未停止。为了得到一个满意的答案,你也应该显示你的html或者/并且做一个小摆弄。你能摆弄这个任务吗?