【问题标题】:Infinite Loop Images Javascript无限循环图像Javascript
【发布时间】:2016-06-13 15:28:40
【问题描述】:

我正在制作一个可以展示我的作品的迷你画廊。我想要发生的是,每次我应该单击“右”按钮图像直到最后一张照片,它仍然会从头开始重复图像。我尝试了 if 语句,但没有任何反应。非常感谢您的帮助,谢谢!

$(function(){

var currIndex;

//$("#header").hide();

$("ul li img").click(function() {

    currIndex = $(this).parent();

   var selectsrc = $(this).attr("src");
    $("#display").attr("src", selectsrc);

    $("#gray").slideDown();
    $("#white").fadeIn();
});

$("#gray").click(function(){
    $("#gray").slideToggle();
    $("#white").fadeOut();
});

$("#right").click(function(){

    var numOfItems = $("ul li img").length;

    var nextIndex = currIndex.next();
    var nextImg = nextIndex.children("img").attr("src");
    $("#display").attr("src", nextImg);
    currIndex = nextIndex;

    if (currIndex == numOfItems-1){
        alert("HELLO");
        currIndex = 0;
    }

    else {
        alert("HI");
        currIndex++;
    }


})



});

【问题讨论】:

  • .next(): 获取匹配元素集中每个元素的紧随其后的兄弟。如果提供了选择器,则仅当它与该选择器匹配时才会检索下一个兄弟。 它不是数字(索引)。
  • I tried the if statement but nothing happens 嗯。您那里有警报,肯定至少发生了其中一个,或者您的控制台出现了错误。

标签: javascript jquery photo-gallery


【解决方案1】:

我没有尝试你的代码,但是看起来在右键功能...

   if (currIndex == numOfItems-1){
    alert("HELLO");
    currIndex = 0;
   }
   else
   {
      alert("HI");
      currIndex++;
   }

应该是……

   currIndex++;

   if (currIndex >= numOfItems){
    currIndex = 0;
   }

您的左键单击功能应该增加 currIndex,而且您需要将其初始设置为零。 :-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    相关资源
    最近更新 更多