Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Damon

Barra de rolagem dinâmica

Recommended Posts

Pessoal tenho uma pagina que fica dentro de frame, esta pagina é carregada via ajax ela é responsável por mostra as mensagem de um chat

para o usuários.

 

A questão que o código que eu uso em ajax e xml para fazer esta atualização deixa a barra de rolagem presa sempre no final do conteúdo, quando o usuário vai ver a mensagens antigas ela volta para o final assim que a pagina é carregada.

 

Gostaria que vocês me ajudasse nessa questão, caso alguém saiba de outra maneira para tratar melhor esta situação por exemplo usando ajax com jquery ou json por favor deixem o código para que possamos analisar juntos a questão.

Vou esta deixando o meu código para agente analisar juntos.

<script type="text/javascript">

function Ajax(){
var xmlHttp;
        try{    
                xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari
        }
        catch (e){
                try{
                        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
                }
                catch (e){
                    try{
                                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        catch (e){
                                alert("No AJAX!?");
                                return false;
                        }
                }
        }

xmlHttp.onreadystatechange=function(){
        if(xmlHttp.readyState==4){
                document.getElementById('ReloadThis').innerHTML=xmlHttp.responseText;
                setTimeout('Ajax()',3000);
        }
}
xmlHttp.open("POST","conversa_sup.php",true); // aqui configuramos o arquivo
xmlHttp.send(null);
}

window.onload=function(){
        setTimeout('Ajax()'3000); // aqui o tempo entre uma atualização e outra
}

var intervalo = setInterval("document.getElementById('ReloadThis').scrollTop = 1000000;", 5000);

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, tem que ver se o problema não está no seu frame... melhor é trabalhar com iframe... mostra tbm a parte do código do frame...

 

Estou trabalhando com iframes tbm e apanhei bastante, principalmente com reajuste do tamanho de tela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

rdpacato

 

Então frame não é não eu já declarei as propriedades dele certinho, o que controla a barra e rolagem e faz ela fica no final da pagina é este pedação do código que esta no código junto o ajax

var intervalo = setInterval("document.getElementById('ReloadThis').scrollTop = 1000000;", 5000);
 

depois desse tempo que esta declarado "5000" a barra de rolagem desse e fica no final da pagina, queria tratar isso melhor de uma forma mais amigável e agradável para usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use:

location.hash = "id-do-elemento";
// ou
$('#id-elemento').attr('tabindex', -1).focus()

Você pode usar o jquery para pegar o ultimo elemento e da um focus nele

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.