2017-08-28 64 views
2

我想接下来的每个时间的五份申报单显示当我点击显示更多按钮,5个格会显示默认情况下的负载,这里是我的代码,Jquery的单击事件造成循环只执行一次

var counterBox = 5; 
$("#show_more_location").click(function() { 
    $(".loading-container").show(); 
    for (var inc = 5; inc <= 5; inc++) { 
     if(counterBox<50){ 
      counterBox = counterBox + 1; 
      $(".location-box:nth-child("+counterBox+")").slideDown().addClass("show_box").delay(100); 
     } 
    } 
    $(".loading-container").delay(5000).hide();   
}); 

问题是,当我点击显示更多按钮时,它只循环一次,然后停下来。只有一个div显示,我想在show buttonclick上显示5个div。

任何人都可以帮助吗?

+1

如果你的循环计数器开始与值5,然后不要指望它小于或等于5之后,您_添加一个正值为5 ... – CBroe

+0

复制粘贴var变量decleration的风险... –

+0

thnx @CBroe,因为很多的工作,只是初始化公司= 0,它工作正常,thnx再 –

回答

3

看来你初始化你inc迭代器5,并得到了循环时,它高于5

for (var inc = 5; inc <= 5; inc++) { 
    ... 
} 

尝试用1初始化它:

for (var inc = 1; inc <= 5; inc++) { 
    ... 
} 
+0

,但还有一点你可以帮忙,加载div没有显示,因为我有还添加延迟隐藏,检查我的问题,我有更新 –

+0

@MuhammadAkberKhan你尝试使用函数'setTimeOut()'而不是?在这里查看它的用法https://www.w3schools.com/jsref/met_win_settimeout.asp – OddBrew

0

您将for循环中的inc设置为5,然后检查它是否低于或等于5.因此它运行一次。使inc 0运行6次。