Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 3

como repetir um JS e alterar suas variaveis

13-08-2009 23:44

Olá, utlizei este script pra mostrar e esconder um conteudo aqui do forum mesmo:

http://www.codigosnaweb.com/forum/viewt ... =325&p=428

implementei ele e funcionou perfeitamente, mas preciso que ele funcione para mais de um conteudo:

<div id='div' style='display:none'> conteúdo </div> <div id='div' style='display:none'> conteúdo3 </div> <div id='div' style='display:none'> conteúdo3 </div>

o que acontece é que este CONTEUDO vem do BD, normal faço ele buscar sem problemas, o problema é que o botão de "ocultar/mostrar", mesmo quando clicado em outro CONTEUDO só faz alteração no primeiro CONTEUDO.
Sei que isto esta aconcendo pq no script ele busca o ID "div", não consigo fazer este id ser dinamico, alguem poderia me ajudar?

este é o meu codigo como esta implementado aqui:

<script language="JavaScript" type="text/javascript"> function ativa(){ var div = document.getElementById('div') \\PRECISO QUE VALOR SEJA UNICO PRA CADA CONTEUDO /* se conteúdo está escondido, mostra e troca o valor do botão para: esconde */ if (div.style.display == 'none') { document.getElementById("botao").value='esconde' div.style.display = 'block' } else { /* se conteúdo está a mostra, esconde o conteúdo e troca o valor do botão para: mostra */ div.style.display = 'none' document.getElementById("botao").value='mostra' } } </script>


PHP:

while ($reg = pg_fetch_array($sql)){ $titulo = $reg['titulo']; $msg = $reg['msg']; $data = $reg['data']; $hora = $reg['hora']; $temp=nl2br($msg); $temp; // meu WHILE busca no banco todas conteudos, e joga na tela normalmente echo " <CENTER><table width=\"450\" border=\"0\" cellspacing=\"0\" cellpadding=\"2\"> <tr> <td width=\"450\" nowrap=\"nowrap\"><div align=\"center\"> <font face=verdana size=2> <img src=\"seta.jpg\" width=\"10\" height=\"10\" border=\"0\">$data - $hora<BR><b>Titulo:</b> $titulo<BR> <div align='justify' id=div' style='display:none' font='Verdana'> \\ O SCRIPT PEGA SEMPRE O MESMO VALOR DE ID, FAZENDO O BOTÃO OCULTAR/MOSTRAR UTILIZAR A PRIMEIRA DIV DO PRIMEIRO CONTEUDO $temp </div> <input type=\"button\" id=\"botao\" value=\"mostra\" onClick=\"ativa(this)\"> <br><br><br> </div></td> </tr> </table></CENTER>";

a grande duvida, tem como eu fazer o mesmo java script funcionar direito em cada loop do meu while???
0
Editado pela última vez por web em 14-08-2009 06:34, em um total de 2 vezes.
Razão: Para scripts, selecione e pressione o botão Code
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17383
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

como repetir um JS e alterar suas variaveis

14-08-2009 06:43

Tem sim. O primeiro passo é você identificar cada div, ou seja, se sua consulta retorna o id da linha por exemplo, você pode adicionar o id junto do nome da linha, como segue o exemplo abaixo.

Esse é o script que vai ser único, fora do while

<script> function ativa(oid,obotao){ var div = document.getElementById(oid) if (div.style.display == 'none') { document.getElementById(obotao).value='esconde' div.style.display = 'block' } else { div.style.display = 'none' document.getElementById(obotao).value='mostra' } } </script>

Agora abaixo, cada bloco estaria simulando uma passada no while. Note que o primeiro bloco tem 01, o segundo 02, etc...

Esse número seria o id da linha, porque cada linha tem que ter algo diferenciado, que seria o id auto increment no caso.

<input type="button" id="botao_01" value="mostra" onClick="ativa('id_01','botao_01')"> <div id='id_01' style='display:none'> conteúdo </div> <input type="button" id="botao_02" value="mostra" onClick="ativa('id_02','botao_02')"> <div id='id_02' style='display:none'> conteúdo </div>

0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 3

como repetir um JS e alterar suas variaveis

14-08-2009 07:20

web!!!!
vc é meu Chapolin Colorado :D
Queimei os miolos pra tentar algo parecido ontem a noite ae resolvi postar... nossa, o que vc explicou funcionou perfeitmente :D
[]s!!!


PS: se vier a sampa já tem um amigo na liberdade heheh, vlew mesmo!!!
0
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 3

como repetir um JS e alterar suas variaveis

14-08-2009 08:34

complementando caso alguem precise de um script assim:
o auto increment do id da BOTAO tem que ser diferente do id do DIV senão o botão nunca entrará na validação que troca seu status de MOSTRA para ESCONDE :) pois o script procura pelos IDs....

ps: me corrijam se falei bobeira :)
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17383
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

como repetir um JS e alterar suas variaveis

14-08-2009 10:09


<input type="button" id="botao_02" value="mostra" onClick="ativa('id_02','botao_02')"> <div id='id_02' style='display:none'> conteúdo </div>

No caso o id pode ser o mesmo dentro do bloco "while", porque a div está representada por id_... e o botão por botao_...
0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado