2012-10-01 79 views
5

我正在尋找隱藏左側導航欄的頁面。我只用Safari瀏覽器遇到問題,在Chrome,FF,Opera,IE7 +中沒有問題。只在Safari中使用JQuery動畫Jumpy

當在Safari中即將完成滑動動畫時,您會看到一些內容短暫地跳到其原始位置,然後消失。我一直在研究一段時間,但沒有多少運氣。它似乎大部分時間是填充或邊距,但它們設置爲零,並且我嘗試了兩次CSS重置。在我看來,這與浮游物有關。我試着玩Clear,但沒有運氣。

Here is a demo

和相關的動畫:

$('#btnHide').click(function() { 
    $("#divNavContent").animate({ 
     width: 'toggle' 
    }, 1000, function() { 
     $("#divNavHidden").animate({ 
      width: 'toggle' 
     }, 500); 
    }); 

}); 

$('#btnShowMenu').click(function() { 
    $("#divNavHidden").animate({ 
     width: 'toggle' 
    }, 500, function() { 
     $("#divNavContent").animate({ 
      width: 'toggle' 
     }, 1000); 
    }); 
}); 
+0

嘗試將動畫的寬鬆屬性更改爲「線性」 – ahren

+0

它看起來像只在動畫期間設置寬度,然後將顯示設置爲無,並且寬度屬性被刪除,以便原始CSS接管,也許使用靜態數字而不是「切換」會更好? – Trey

回答

1

發生的原因float: left;#divLeft的問題,但你可以從#divLeft去除浮動和維護相同的結構。

同時將margin-left: 4px;添加到#content,因爲當您移除浮動塊時,兩個div會變得有點凹陷。

看起來像它更多的Safari中的錯誤,而不是你的錯。

+0

非常感謝!這工作。 – user1712697