2014-09-01 166 views
0

我想通过Pixadelic(link)将缩略图放入Diapo画廊,但我遇到了一个问题。我正在使用下面的代码,并且我需要IF语句只运行一次,如果不是,计数器将永远保持值0,并且我希望它在每次将值应用0之后循环时开始加1 。有任何想法吗?在FOR循环中只运行IF一次

if(thumbnails==true) { 
     $('#pix_pag').append('<div id="thumb_div"/>'); 
     var thumbNum; 
     var counter; 
     for (thumbNum = 0,counter=0; thumbNum < amountSlide; thumbNum++,counter++){ 


      var dataThumb = selector.eq(thumbNum).attr('data-thumb'); 
      var newImg = new Image(); 
      newImg.src = dataThumb; 
      var leftVal = 25+25*counter; 
      var thumbsWidth = $("#pix_pag").width(); 
      var totalVal = 75*(thumbNum+1)+25+25*thumbNum+75; 
      var checker = true; 

      if(totalVal>=thumbsWidth && checker==true){ 
       counter=0; 
       checker=false; 
      } 



      $('#thumb_div').append($(newImg).attr({'class':'thumb_nav_'+thumbNum,'style':'position:relative;width:75px;height:75px;top:25px;left:'+leftVal+'px;cursor:pointer;border:solid 1px;box-shadow: 2px 2px 1px #888888;'})); 



      } 
     } 

在此先感谢。 :)

+0

也许尝试解释更好,我真的不明白。 – MightyPork 2014-09-01 15:11:26

+0

没关系,它已经解决了,谢谢。无论如何,如果它对某人有用,我所要做的只是让FOR循环中的IF语句只运行一次,而不是每次循环开始时都运行。为了解决这个问题,我只是做了巴马尔所说的。 – minimino 2014-09-01 15:21:28

回答

0

var checker = true;之前的循环。否则,您每次都通过循环将其设置回true,因此测试&& checker == true将始终成功。

+0

太容易了...谢谢! – minimino 2014-09-01 15:15:51