2012-10-29 2 views
0

내 페이지에 단일 img 요소를 공급하는 이미지 배열을 기반으로하는 이미지 슬라이드 쇼가 있습니다. 마지막 이미지에 도달하여 nextImage() 함수를 트리거하는 "next"를 누르면 최종 이미지를 숨기고 스플래시 화면 (CSS에서 숨겨진 동일한 페이지의 div)을 가져오고 싶습니다. 이 코드는 사파리에서 잘 작동하지만 iPad (내 대상 장치)에서 이미지 요소를 숨기지 않는 것 같습니다. 나는 이것이 작동하지 않게하는 원인이 될 수있는 것에 대해 상실감을 느낍니다..hide()가 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(); 
     });   
    }    
} 

어떤 도움을 크게이 같이 평가 될 것입니다 몇 주 동안 나를 귀찮게되었습니다!

+0

내가 (문제가 .show의 타이머 함께 것으로 확인 아이 패드 4 테스트) 및 숨기기 (). iPad에서 애니메이션을 좋아하지 않는 것으로 보입니다. 애니메이션을 작동 시키는데 열어 두었으므로 앞으로는 iPad3에서 테스트 할 예정입니다. – FunkyMonk91

답변

0

요소를 숨기려면 jquery를 사용하는 대신 html의 #image 요소에 style="display:none"을 추가하십시오. 이렇게하면 jquery가 이미지의 가시성을 쉽게 토글 할 수 있습니다.

+1

그렇게하면 애니메이션없이 #image 요소를 단순히 "숨길"수 있습니다. OP가 찾고있는 것은 아닙니다. – rafaelbiten

0

iCount를 사용하여 "if"문을 사용하여 마지막으로 표시된 이미지를 숨기는 것입니다. 마지막으로 기존 이미지로 돌아가려면 필요한 경우 .remove를 사용하여 div를 제거하면됩니다.(); 희망 그것이 작동합니다!

그래서 iCount가 null인지 확인합니다. 애니메이션이 끝나면 iCount--, 숨기고 (200), 필요한 경우 .parent ('# image')를 사용하여 #image를 제거합니다. (구문을 두 번 확인하는 것이 좋습니다).

숨기기 및 표시 방법 호출 할 때 10 밀리 초 타임 아웃을 추가 해결
0

:

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

관련 문제