2013-12-16 19 views
3

我有一個函數上的數組的數組(allArr),來自allArr的位置0的第一個時間數組與從另一個數組與圖像(名爲image)然後通過點擊一個按鈕(id =「nextimageandshuffle」)數組從allArr和圖像數組中的圖像達到第五。我的問題是,每次我點擊下一個按鈕,我必須用清空()div(id =「數組「),其中allArr的數組添加了append(),但我無法在第5個數組之後停止,因此第5個圖像(來自圖像數組)仍保留在那裏,但第5個數組(從allArr)刪除了它...如何結束.empty()

繼承人my代碼:

var allArr; 
var contor = 0; 
var i = 0; 

$(document).ready(function() { 

    var arr = new Array("images/alfabet/w.png", "images/alfabet/f.png", "images/alfabet/v.png", "images/alfabet/a.png", "images/alfabet/b.png", "images/alfabet/p.png", "images/alfabet/o.png", "images/alfabet/r.png"); 
    var baiat = new Array("images/alfabet/p.png", "images/alfabet/b.png", "images/alfabet/a.png", "images/alfabet/aa.png", "images/alfabet/i.png","images/alfabet/a.png", "images/alfabet/t.png"); 
    var colac = new Array("images/alfabet/g.png", "images/alfabet/c.png", "images/alfabet/u.png", "images/alfabet/o.png", "images/alfabet/l.png", "images/alfabet/a.png", "images/alfabet/c.png"); 
    var slapi = new Array("images/alfabet/s.png", "images/alfabet/ss.png", "images/alfabet/l.png", "images/alfabet/a.png", "images/alfabet/b.png", "images/alfabet/p.png", "images/alfabet/i.png", "images/alfabet/i.png"); 
    var umbrela = new Array("images/alfabet/u.png", "images/alfabet/n.png", "images/alfabet/m.png", "images/alfabet/p.png", "images/alfabet/b.png", "images/alfabet/r.png", "images/alfabet/e.png", "images/alfabet/l.png", "images/alfabet/a.png"); 
    allArr = new Array(arr, baiat, colac, slapi, umbrela); 
    for(i=0; i<allArr[0].length; i++) 
    { 
     var img = new Image(); 
        img.src = allArr[0][i]; 
      $('#array').append(img); 

     } 
}); 

var image = new Array("images/baiat.png", "images/colac.png" , "images/slapi.png" , "images/umbrela.png"); 

var imgNumber=0; 

var numberOfImg = image.length; 

function nextImage(){ 
    if(imgNumber < numberOfImg){ 
    imgNumber++; 
    } 
    document.slideImage.src = image[imgNumber-1]; 

    contor++; 

    $("#array").empty(); 


    for(i = 0; i<allArr[contor].length; i++) 
    { 
     var img = new Image(); 
     img.src = allArr[contor][i]; 
     $('#array').append(img); 

    } 


} 

if(document.images){ 

    var image1 = new Image(); 
    image1.src = "images/vapor.png"; 
    var image2 = new Image(); 
    image2.src = "images/baiat.png"; 
    var image3 = new Image(); 
    image3.src = "images/colac.png"; 
    var image4 = new Image(); 
    image4.src = "images/slapi.png"; 
    var image5 = new Image(); 
    image5.src = "images/umbrela.png"; 

    } 

HTML:

<img src="images/vapor.png" name="slideImage" class='secondcanvas' width='450' height='300' alt=""> 
     <div id="array" class='thirdcanvas'></div> 
<a href="#" onClick="nextImage()"><img id="nextimageandshuffle" src="images/nextBtn.png" title="Continuare" ></a> 

回答

0

我不知道如果我完全明白你正在嘗試做的,但我想我明白了...

你需要確定你是否是最後的圖像或沒有,因爲如果你不是你還想清空這個元素。將當前圖像src與allArr [4] [4]中的字符串進行比較,如果它們匹配,則不要執行.empty()。因此,而不是隻是:

$("#array").empty(); 

你會希望喜歡的東西來替代它:

if(img.src == allArr[4][4]){ 
    return; 
}else{ 
    $("#array").empty(); 
} 
+0

很酷,我忘了添加其他的時候,當我想用​​if,但我的和你的if不工作......我們必須等於圖像陣列的最後位置圖像最後一個數組名爲umbrela allArr ...如果我們單擊下一個直到umbrela數組,停止.empty()else do.empty() – OzZie

+0

啊,我明白了,當我最初讀它時,我想你在每次點擊「下一步」時都會動態地拉動圖像。如果在文檔加載時它們全部被填充,則您需要搶佔該位置。很高興我能幫上忙! – Ant

+0

我想出瞭如何做到這一點,我作出了contor在第四陣列後結束的條件,所以,從現在開始,即使我點擊next..can't後去第四個數組:D – OzZie

0

不知道如果我真的明白你的問題是什麼。但是,如果你想保持過去的形象在你的div標籤調用empty()之後,你就必須再追加它:

$("#array").empty(); 
var lastImage = new Image(); 
lastImage.src = allArr[4][4]; 
$("#array").append(lastImage); 

請告訴我,如果這有助於與否。

+0

它做的東西,但不是我所需要:(感謝烏拉圭回合的答案呢:d @Ant回答如果它看起來很有趣,我一直在想那樣,但沒有其他的東西 – OzZie