如何结束.empty()

How to end .empty()

本文关键字:empty 结束 何结束      更新时间:2023-09-26

我在一个函数上有一个数组数组(allArr),第一次从allArr的位置0开始的数组与来自另一个数组的图像(命名图像)的位置0的图像一起拍摄,因为文档的原因。然后单击按钮(id="nexttimageandshuffle"),allArr中的数组和图像数组中的图像达到第五位。我的问题是,每次我点击下一个按钮时,我都必须用empty()清除来自allArr的数组用append()添加的div(id="array"),但我无法在第五个数组之后停止它,所以第五个图像(来自图像数组)仍在那里,但第五个阵列(来自allArr)已删除。。。

这是我的代码:

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>

我不确定我是否完全理解你的意图,但我想我明白了…

你需要确定你是否在最后一张图片上,因为如果不是,你仍然想清空元素。将当前图像src与allArr[4][4]中的字符串进行比较,如果它们匹配,请不要执行.empty()

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

你会想用类似的东西来代替它:

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

不确定我是否真的理解你的问题。但是,如果你想在调用empty()后保留div标签中的最后一个图像,你只需要再次附加它:

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

请告诉我这有没有帮助。