Ir para conteúdo

POWERED BY:

Arquivado

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

Maximum2003

! Barra de Rolagem Automática

Recommended Posts

Urgente! Barra de Rolagem AutomáticaEstou desenvolvendo um chat onde todas as mensagens aparecem dentro uma TEXTAREA só que preciso que a cada refresh da página a barra de rolagem vá para o final dessa TEXTAREA. Alguém aí sabe como fazer isso?Valeu!Maximum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maximum2003;Também estou tentando encontrar algo a respeito disso... se você conseguir, me manda e-mail ou poste aqui mesmo tá bom?Eu pensei em algo, sei lá... pegar a ultima palavra da mensagem e fazer uma ancora, aí a barra de rolagem vai para o final... mas não sei como fazer... ainda mais dentro de um textarea... ;) :o Se eu conseguir te informo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maximum2003;Também estou tentando encontrar algo a respeito disso... se você conseguir, me manda e-mail ou poste aqui mesmo tá bom?Eu pensei em algo, sei lá... pegar a ultima palavra da mensagem e fazer uma ancora, aí a barra de rolagem vai para o final... mas não sei como fazer... ainda mais dentro de um textarea... :( :( Se eu conseguir te informo.

ok marcinha obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maximum;Como você está armazenando as mensagens? Em banco de dados? Arquivo texto? :blink:

Sim, estou armazenando as mensagens de um chat em um banco e trazendo-as dentro de uma text area. O q eu preciso é: quando eu der o Loop para trazer as mensagens, a barra de rolagem da text área desça automáticamente..To desesperado, se souber algum jeito de me dar um help...agradeço muito...Um abraço,Gabriel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer que a barra de rolagem desça para ver a última mensagem?

 

Se for, você pode inverter a ordem com que as mensagens são gravadas para que elas apareçam de forma com que a ultima mensagem fique no topo, assim, a barra de rolagem não precisará ir até o fim.

 

Para gravar, você faz assim:

 

pegue o conteudo já gravado. Vamos chamá-la de msg1.

pegue o conteudo da ultima mensagem. Vamos chamá-la de msg2.

 

aí você concatena:

 

mensagem = msg2 & "<br>" & msg1

 

Eu resolvi o meu problema desse jeito. Espero ter ajudado. :rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer que a barra de rolagem desça para ver a última mensagem?

 

Se for, você pode inverter a ordem com que as mensagens são gravadas para que elas apareçam de forma com que a ultima mensagem fique no topo, assim, a barra de rolagem não precisará ir até o fim.

 

Para gravar, você faz assim:

 

pegue o conteudo já gravado. Vamos chamá-la de msg1.

pegue o conteudo da ultima mensagem. Vamos chamá-la de msg2.

 

aí você concatena:

 

mensagem = msg2 & "<br>" & msg1

 

Eu resolvi o meu problema desse jeito. Espero ter ajudado. :)

Pra mim não serve inserir comandos HTML como o "<br>" pois as mensagens do chat não estão aparecendo dentro de uma página HTML ou um IFRAME estao sendo carregadas dentro de uma TEXTAREA..

Se alguém souber de um outro modelo de chat com código fonte livre no modelo do TERRA CHAT me passe... To quase surtando com esse chat...

AAHH!!

 

Gabriel

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra quebrar linha no textarea use \n

pra rolar até a última linha dê um focus() cujo alvo vai ser o textarea

 

document.nome_form.nome_textarea.focus();

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra quebrar linha no textarea use \n

pra rolar até a última linha dê um focus() cujo alvo vai ser o textarea

 

document.nome_form.nome_textarea.focus();

Primeiramente valeu, mas cara não deu certo isso.... quando eu dou o refresh na página para chamar a última msg enviada, o focus vai para o início da TEXTAREA e não para o final como gostaria..

 

To desesperado cara,

Gabriel

Compartilhar este post


Link para o post
Compartilhar em outros sites

É que você deve fazer assim, ehhh

 

Guarde o valor do textarea numa variável javascript.

Dê um focus() e logo em seguida sete o valor do textarea como o valor dessa variável.

Por exemplo (supondo nome do form como "form1"):

 

<script language=javascript>

  valor = "bla bla bla no no n onon on on ono non";

  nome_campo = "nome_do_textarea";

 

  escrever = "<textarea name=\""+nome_campo+"\" cols=50  rows=6></textarea>";

  document.write(escrever);

 

  e = document.form1[nome_campo];

  e.focus(); // joga o foco

  e.value = valor; // seta o valor

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É que você deve fazer assim, ehhh

 

Guarde o valor do textarea numa variável javascript.

Dê um focus() e logo em seguida sete o valor do textarea como o valor dessa variável.

Por exemplo (supondo nome do form como "form1"):

 

 

<script language=javascript>

  valor = "bla bla bla no no n onon on on ono non";

  nome_campo = "nome_do_textarea";

 

  escrever = "<textarea name=\""+nome_campo+"\" cols=50  rows=6></textarea>";

  document.write(escrever);

 

  e = document.form1[nome_campo];

  e.focus(); // joga o foco

  e.value = valor; // seta o valor

</script>

Cara pensei em uma solução um pouco mais simples... É possível que eu force a digitação de uma tecla do teclado através de um comando JavaScript?

 

O Foco está indo para o final da TEXTAREA, porém não está chamando a rolagem, percebi que quando eu digito akela setinha do teclado, ou qualquer outra tecla, a rolagem do TEXTAREA vai direto ao final..

 

Tem como fazer isso?

Agradeço urgentemente,

Gabriel

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.