【问题标题】:Run IF only once in FOR loop在 FOR 循环中只运行一次 IF
【发布时间】:2014-09-01 15:08:10
【问题描述】:

我正在尝试将 Pixadelic (link) 的缩略图放入 Diapo 画廊,但我遇到了一个问题。我正在使用下面的代码,并且我需要 IF 语句只运行一次,好像不是,counter 将永远保持值 0,并且我希望它在每次循环后开始添加 1对其值应用 0。有任何想法吗?

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;'}));



            }
        }

提前致谢。 :)

【问题讨论】:

  • 也许尝试解释得更好,我不太明白。
  • 没关系,已经解决了,谢谢。无论如何,如果它对某人有用,我所要做的就是使 FOR 循环中的 IF 语句只运行一次,而不是每次循环重新开始时运行。为了解决它,我只是按照 Barmar 说的做了。

标签: javascript if-statement for-loop thumbnails


【解决方案1】:

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

【讨论】:

  • 这么简单...谢谢!!
猜你喜欢
  • 1970-01-01
  • 2021-06-15
  • 2014-12-07
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多