2013-07-30 19 views
0

對於我目前正在構建的網站,我想利用一個部分的循環圖像(IE中的一系列圖像在單個容器中交叉淡入淡出)。由於這對我來說主要是一個學習過程,我自己寫了大部分的javascript和jQuery,而不是使用預建的插件。iOS設備上的jQuery圖像週期閃爍

這個循環在所有桌面瀏覽器上都很完美(據我所知),但在iOS設備上測試時,每當某個部分開始循環到新圖像時,我都會閃爍。

基本上有三個功能看起來像這樣:

function cycleTheatrical(){ 
    setTimeout(function(){ 
    (theatPos < (theatArray.length-1)) ? theatPos+=1 : theatPos = 0; 
    $('#page-1-theatrical').append("<img src='" + theatArray[theatPos] + "' class='project-img' style='display:none'>"); 
    $('#page-1-theatrical img:last-child').fadeIn(1500, function(){ 
    $('#page-1-theatrical img:first').remove(); 
    }); 
    cycleHomeEnt(); 
}, 3000); 
}; 

那麼什麼,我試圖做的是新的圖像與display:none追加,然後消失在它覆蓋舊的。一旦淡入,回調函數刪除舊圖像。

在iOS設備上查看時,我看到新圖像的短暫閃爍,僅僅一秒鐘,在它消失並且交叉淡入正常發生之前。我的第一個假設是display:none直到設置圖像之後才設置,所以我構建了一個替代版本,該版本附加了一個沒有設置源碼的圖像,並將其設置爲display:none,然後在添加源代碼之前(使用.attr())褪色,但問題仍然與以前一樣。

因此,有誰知道是什麼原因導致iOS設備上的短暫閃爍?你可以在這裏查看WIP網站,看看有什麼我談論:

http://www.thecrpgroup.com/crpweb/promo-site/

感謝您的幫助!

+0

iOS 5.1.1,沒有閃爍給我。 – Unknown

+0

我第一次在運行6.1.3的iPad上檢查過它。自從我使用xcode的iOS設備模擬器進行測試後,它似乎允許的唯一版本是6.1 – DrHall

回答

0

我不知道爲什麼這是必需的,但我確實找到了答案。使用它之後,我將問題分解爲fadeIn()調用。這讓我縮小我的搜索,我發現這一點:

Jquery when FadeIn() the Object it blinks,Ipad safari

原來更換淡入()與fadeTo()解決了這個問題。