2011-05-05 59 views
0
$('.hexLink').hide(); //Hides All hexLink elements 
renderHexagons();  //Position hexLink elements 
positionElements();  //Position elements within hexLink elements 
handleEvents();   //Establish events and handlers and Show hexLink elements 

我在IE8中的這段代碼的問題是,它顯示了我的頁面元素的一個短暫的時間,大約半秒鐘。而在那段時間裏,這些元素不像我喜歡他們那樣定位,他們看起來相當糟糕,但在這段時間後,他們被重新渲染到我希望他們成爲的位置。這發生在我的頁面中的所有元素。我目前正在localhost中測試這個。無論如何我可以重新編碼所以這不會發生?儘管在Chrome上一切都很好。jQuery Hide-Reposition-在Internet Explorer 8中顯示錯誤

回答

0

您可以從最初隱藏的元素開始,然後在重新定位後才顯示它們。

0

嗯,這是因爲它需要做所有的事情。 沒有簡單的解決方案(除了使您的代碼更高效)。

但是,你可以顯示加載動畫,並阻止頁面,直到所有完成,然後解鎖,所有這一切使用真棒jquery blockui plugin

所以你必須:

$(document).ready(function(){ 
    $.blockUI(); //Starts loading animation 
    $('.hexLink').hide(); //Hides All hexLink elements 
    renderHexagons();  //Position hexLink elements 
    positionElements();  //Position elements within hexLink elements 
    handleEvents();   //Establish events and handlers and Show hexLink elements 
    $.unblockUI(); //Ends loading animation 
}); 

希望這有助於。歡呼聲

+0

我認爲只有幾分之一秒的加載動畫有點過分。感謝您的鏈接,但我會檢查出來。 – Ram 2011-05-05 03:38:58