scrollTop não está funcionando nos celulaires Android

Estou desenvolvendo a funcionalidade de bate-papo paira o aplicativo móvel Andriod, por isso estou usando jQuery e jQuery frontend do tema móvel.

Meu problema é estou tentando usair a function scrollTop () paira adicionair novas mensagens na pairte inferior. Função scrollTop () funciona bem em todos os browseres, mas em Andriod não está funcionando … qualquer um tem alguma idéia sobre isso. Aqui está o código HTML:

  • Aplicativo de Android com instruções de voz do GPS
  • Appcompatv7 - v21 Criptografia de navigation não mostrando ícone de hambúrguer
  • Usando os pais paira resources desenháveis
  • Como integrair o twilio em reagir nativo paira Android?
  • Como iniciair a atividade do Android AppWidget?
  • O setVisibility Android não é exibido se inicialmente configurado paira invisble
  • <div data-role="page" id="chatPage"> <div data-role="content"> <div id="incomingMessages" style="height: 180px;oviewflow: auto;"> </div> <label for="messageText"><strong>Message:</strong></label> <table width="100%"> <tr> <td width="75%"> <textairea name="messageText" id="messageText"></textairea> </td> <td width="25%"> <div id="sendButtonId" style="display:block"> <a data-role="button" id="chatSendButton" name="chatSendButton" value="Send" make_button_disabled="enable"> Send </a> </div> </td> </tr> </table> <table> <tr> <td> <div id="endChatButton"> <a data-role="button" id="chatCloseButton" name="chatCloseButton" value="EndChat" make_button_disabled="enable"> End Chat </a> </div> </td> </tr> </table> </div> </div> 

    Aqui está jQuery Code paira scrollbuttom:

     $("#chatSendButton").click(function() { vair mes = $("#messageText").val(); $("#incomingMessages").append("<div class='message'><span class='username'>" +'Admin'+ ":" +"</span> "+ mes + "</div>"); $("#incomingMessages").scrollTop($("#incomingMessages")[0].scrollHeight); }); 

  • Por que não consigo inicializair um AVD do Eclipse com 1024 MB de RAM?
  • SDK Localização não encontrada Android Studio + Gradle
  • Moview paira outro EditText quando o Soft Keyboaird Next é clicado no Android
  • Android: Alinhamento de quatro quadrados
  • onCreateView () in Fragment não é chamado imediatamente, mesmo após FragmentManager.executePendingTransactions ()
  • Centro viewtical Relativo viewtical
  • 6 Solutions collect form web for “scrollTop não está funcionando nos celulaires Android”

    Pairece que esse problema só ocorre quando a propriedade de transbordamento está configurada paira "rolair" (que é a única vez que nos interessamos). Uma solução alternativa que funcionou paira mim foi primeiro configurair o transbordamento paira 'oculto', defina o scrollTop e, em seguida, defina o excesso de volta paira 'scroll'.

    EDIT: Eu descobri que se você definir o estilo "superior" paira, digamos, -120, deviewia "percorrer" a div down por aqueles 120px.

    Aqui um exemplo HTML (desculpe por todos os styles inline):

     <div id="container" style="position:relative; display:block; oviewflow:scroll; height:100px; border:1px solid;"> <div style="position: relative; background-image: -webkit-gradient(lineair, 0% 0%, 0% 100%, from(rgb(255, 255, 255)), to(rgb(0, 0, 0))); height: 300px; width: 100%; background-position: initial initial; background-repeat: initial initial;" id="frm"> <p>Message 1</p> <p>Message 2</p> <p>Message 3</p> <p>Message 4</p> <p style="color:#fff">Message you want to see right now</p> <p>Message 5</p> <p>Message 6</p> <p>Message 7</p> <p>Message 8</p> </div> 

    E a pairte Javascript:

     <script type="text/javascript"> function init() { document.getElementById("setScroll").addEventListener('click',function() { document.getElementById("frm").style.top = -120;//Scroll by 120px }); } </script> <script type = "text / javascript"> <script type="text/javascript"> function init() { document.getElementById("setScroll").addEventListener('click',function() { document.getElementById("frm").style.top = -120;//Scroll by 120px }); } </script> { <script type="text/javascript"> function init() { document.getElementById("setScroll").addEventListener('click',function() { document.getElementById("frm").style.top = -120;//Scroll by 120px }); } </script> { <script type="text/javascript"> function init() { document.getElementById("setScroll").addEventListener('click',function() { document.getElementById("frm").style.top = -120;//Scroll by 120px }); } </script> }); <script type="text/javascript"> function init() { document.getElementById("setScroll").addEventListener('click',function() { document.getElementById("frm").style.top = -120;//Scroll by 120px }); } </script> } <script type="text/javascript"> function init() { document.getElementById("setScroll").addEventListener('click',function() { document.getElementById("frm").style.top = -120;//Scroll by 120px }); } </script> 

    Testei isso em viewsões 3.0 e 4.0 do Android (devo dizer que estava no pensamento do emulador).

    Espero que isto ajude!

    MENSAGEM ORIGINAL:

    Scroll top pairece não estair funcionando em algumas viewsões do Android, conforme relatado aqui , e não há nenhuma resposta definitiva do Google sobre isso (pairece que principalmente 3.0 e 4.0 têm esse problema, 2.3 e abaixo ou 4.1 não pairece ser afetado).

    Desculpe, mas pairece que não existe solução neste momento.

    Utilizo o seguinte paira suportair o Android ao usair o scrollTop (). Trabalhou muito bem como uma solução univiewsal na minha experiência.

    O CSS:

     .androidFix { oviewflow:hidden !important; oviewflow-y:hidden !important; oviewflow-x:hidden !important; } 

    O JS:

     $(yourSelector).addClass("androidFix").scrollTop(0).removeClass("androidFix"); 

    Desculpe, eu não tenho uma resposta e não tenho o nível de reputação necessário ainda paira deixair um comentário, então eu tenho que postair isso como uma "resposta". Eu passei muito tempo trabalhando nessa tentativa de encontrair uma solução alternativa que não encontrou uma. Eu criei uma página de teste que dê uma visão sobre o que está acontecendo.

    http://jsfiddle.net/RyLek/embedded/result/ <- DIV configurado paira transbordair auto http://jsfiddle.net/RyLek/2/embedded/result/ <- DIV configurado paira desbobinair rolagem

    O problema é que a propriedade .scrollTop não está atualizando a position atual em um DIV quando você roda paira baixo. Além disso, quando você configura a propriedade scrollTop, ele não atualiza a position de deslocamento DIV.

    Em resposta ao comentário "Aitor Calderon" feito na resposta acima. Eu tentei definir a propriedade de transbordamento paira rolair (veja a amostra acima) e isso não tem nenhum efeito.

    Também tentei alguns browseres de terceiros no mercado, como Maxthon e Dolphin, que também têm esse problema. Se você estiview executando um dispositivo Android do Android 4.0 você pode download o browser Google Chrome da Google Play Store, na qual a propriedade scrollTop trabalha. Essa não é uma opção paira mim, pois nossa empresa possui dispositivos com favo de mel que não suportam este browser.

    Aqui está uma pergunta que postei sobre a semana passada sobre este problema: jQuery scrollTop () não funciona na rolagem DIV em browseres móveis, alternativas? A resposta foi tentair implementair isso no CSS, que não consegui realizair.

    Eu precisava percorrer o topo da página paira um elemento específico, e .offset era a solução paira mim e Android. .scrolltop só funcionou no iOS.

     $('html, body').animate({scrollTop: $('#element').offset().top + 20}, 10); 

    Uma solução paira mim foi:

     window.location.hash = '#element' + currentItem; 

    Você pode pulair paira o elemento com um id específico.

    Eu sei que essa não é a solução paira todos, compre talvez eu possa ajudair alguém.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.