Jquery .hide()在iPad上无法正常工作

Jquery .hide()在iPad上无法正常工作,jquery,ipad,Jquery,Ipad,我有一个基于一系列图像的图像幻灯片,这些图像为我的页面上的一个img元素提供信息。当我到达最后一幅图像并按下“next”(下一步)时,它会触发nextImage()函数,我想隐藏最后一幅图像并打开一个启动屏幕(同一页面上的一个div,由css隐藏)。这段代码在safari中非常有效,但它似乎没有隐藏iPad(我的目标设备)上的图像元素。我不知道是什么原因导致这不起作用 function endPresentation(){ $("#image").hide(200); $("#t

我有一个基于一系列图像的图像幻灯片,这些图像为我的页面上的一个img元素提供信息。当我到达最后一幅图像并按下“next”(下一步)时,它会触发nextImage()函数,我想隐藏最后一幅图像并打开一个启动屏幕(同一页面上的一个div,由css隐藏)。这段代码在safari中非常有效,但它似乎没有隐藏iPad(我的目标设备)上的图像元素。我不知道是什么原因导致这不起作用

function endPresentation(){
    $("#image").hide(200);
    $("#test").show(200);
}

//Goto Next image in array
function nextImage(){

    save();
    iCount++;

//If there are no more images in the array
    if (images[iCount] == null) {
        endPresentation();
    }
    else{                       
        //Change image source to new image, do stuff after the image has successfully loaded
        $("#image").attr("src", images[iCount]).load(function (){               
            doStuff();  
        });         
    }               
}

任何帮助都将不胜感激,因为这已经困扰我好几个星期了

不要使用jquery隐藏元素,而是尝试将
style=“display:none”
添加到html中的
#image
元素中。这将使jquery更容易切换图像的可见性。

我将尝试使用iCount将最后一个显示的图像隐藏在“if”语句中——返回到上一个现有图像,然后,如果需要,只需使用.remove()删除div即可;希望它能起作用


所以,检查iCount是否为null。如果是,则iCount--,隐藏(200)它,如果需要,在动画结束后删除带有.parent('#image')的#图像。(您可能需要仔细检查语法)。

解决了在调用hide和show方法时添加10毫秒超时的问题:

function endPresentation(){
  setTimeout(function(){
      $("#image").hide(200);
      $("#test").show(200);
  },10)
}

在iPad 4上测试过,这样做只会在没有任何动画的情况下“隐藏”图像元素,这可能不是OP想要的。我已经确定问题在于.show()和hide()中的计时器。iPad似乎不喜欢动画。我会留下这个开放,因为现在我有它的工作动画会很好,作为未来的参考,这是在iPad3上测试。