2012-10-11 72 views
0

我在我的應用程序中使用twitter引導,jquery和phonegap。jQuery animate不適用於Android 4.0

我有溢出一個div:滾動和兩個按鈕,通過它導航:

<a href="#" id="left-button" style="float: left;"><i class="icon-chevron-left"></i></a> 
    <a href="#" id="right-button" style="float: right;"><i class="icon-chevron-right"></i></a> 
    <div id="content" style="overflow: scroll; white-space: nowrap;"> 
     <img src="img/bandera.jpg" class="img-rounded"> 
     <img src="img/arbol.jpg" class="img-rounded"> 
    </div> 

我的下一個jQuery腳本使用的按鈕:

$('#right-button').click(function(){ 
     $('#content').animate({ 
      scrollLeft: '+=200px' 
     }, 600); 
    }); 
    $('#left-button').click(function(){ 
     $('#content').animate({ 
      scrollLeft: '-=200px' 
     }, 600); 
    }); 

但是我有一個問題。這些按鈕在Firefox,Chrome甚至在我的桌面的IE中都能正常工作,並且在Android 2.2上運行良好。

但是由於某種原因,在Android 4.0中按鈕什麼都不做。

+0

如果我改變「溢出:滾動」到「溢出:隱藏」按鈕在Android 4.0及2.2的工作,但我不能穿過分度,我的手指(通常滾動)在Android 4.0的滾動... –

+0

我有同樣的問題 - 事實上,當設置滾動到'隱藏',它按預期工作...但div不是可以清除的,然後... :( –

回答

1

試試看jquery-1.9.1.js, 我有與Android 2.3.6設備上的jquery-1.8.2.js相同的問題。 我終於通過升級到jquery-1.9.1.js來解決它。

http://bugs.jquery.com/ticket/12497

+0

嗯......雖然我已經解決了這個過去(有一個非常可怕的解決方法,我不會在這裏重現),現在與新的jQuery版本工作正常,所以。 ..你的回答很好:) –

0

你會嘗試這一個。

$('#left-button').live("click", function(){ 
     $('#content').animate({ 
      scrollLeft: '-=200px' 
     }, 600); 
    }); 
+0

Nop,與原始相同:Works in desktop和在Android 2.2;但沒有在4.0。謝謝無論如何。 –

0

所以,我想最簡單的解決方法是將CSS overflow屬性設置爲隱藏權之前動畫和完成時的處理程序被調用時恢復回「滾動」 /「自動」。

問題是,當我設置'溢出'回'滾動',可滾動的div剛剛上升...任何想法?

0

scrollLeft在Android中不起作用,它是Android瀏覽器(4.0.3+)中的一個已知錯誤。

Check out this stackoverflow question

相反,你可以使用內部元件的「左」屬性。

相關問題