2016-06-13 90 views
-4

我在制作一个迷你画廊,可以展示我的作品。我想要发生的是,每当我点击“右键”按钮图像,直到最后一张照片,它仍然会从头开始重复图像。我尝试了if语句,但没有任何反应。一点帮助将不胜感激,谢谢!无限循环图像Javascript

$(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++; 
    } 


}) 



}); 
+0

'.next()':_获取匹配元素集合中每个元素的紧随其后的同胞。如果提供了一个选择器,它只有在匹配该选择器时才检索下一个兄弟。它不是数字(索引)。 – melancia

+0

'我尝试了if语句,但没有任何反应。你有警报,当然至少有一个发生了,或者错误到达了你的控制台。 –

回答

1

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

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

应该是...

currIndex++; 

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

和你左键点击函数应该增加currIndex,加上你需要初始化为零。 :-)