2011-06-21 129 views
3

在我的JavaScript我使用jquery animate()函數自動滑動推文。鉻和溢出:隱藏的問題

代碼:

function movefeeds() { 
    var element = jQuery("#Feeds"); 
    var position = element.position(); 

    if(position.left == 2000){ 
     element.css("left", "500px"); 
    } 

    element.animate({ "left": "-=500px" }, "slow"); 
} 

在每一個瀏覽器的代碼不正是它必須做到:滑動。但是在Chrome中它並不總是滑動,它滑動一半的時間。而且,即使它的幻燈片,left變得非常壞的值(即584.2132312而不是500,1000等)。

任何建議將:-)

編輯理解:看起來像一個CSS問題:chrome(從11版),似乎有一些麻煩overflow:hidden

編輯2:見this question

+1

另一種方法可能是使用jQuery的['隱藏&slide'](http://docs.jquery.com/UI/Effects/Slide)功能UI。 –

+1

不能重現,在這[小提琴](http://jsfiddle.net/6HkyN/) – DanielB

回答

2

在chrome中找不到任何使用 overflow:hidden的解決方案。 所以我刪除了我的css中的 overflow,並將一些帶有z-index的div放在推文上以隱藏它們。

找到我的解決方案在這一點:Question

0

這可能看起來像一個奇怪的答案,但它是什麼我已經看到了動畫的前鍍鉻發生是一致的:

你的CSS包括你的javascript後?根據你的頁面設置的不同,我已經看到Chrome瀏覽器因爲它試圖在加載CSS樣式之前運行javascript,所以你的動畫將不起作用,因爲它沒有加載元素的position屬性。

+0

所有css包括後,Javascript是包括在內。調試 –

+0

時,'position'得到一個值首先通過插入alert(position)來檢查「position」的值。在IF聲明之前......那麼你就會知道「職位」的真實價值。 – BorisD

+0

@BorisD位置正是應該是。但Chrome瀏覽器不會在該位置顯示我的推文 –