Jump to content


Photo

Mostrar/esconder Div


  • Faça o login para participar
4 replies to this topic

#1 blecko

blecko

    Normal

  • Usuários
  • 81 posts
  • Sexo:Não informado

Posted 22/01/2007, 03:09

Olá, peguei o script do dreamweaver MX pra mostrar e esconder uma div.

O script é esse:
<script language=\"JavaScript\" type=\"text/JavaScript\">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName==\"Netscape\")&&(parseInt(appVersion)==4)) {
	document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf(\"?\"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
	if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
	obj.visibility=v; }
}
//-->
</script>

Eu chamo ele assim:
<a href='#' onClick=\"MM_showHideLayers('divdesc','','show')\">

E a div é essa:
<div id='divdesc' style='position:absolute; width:300px; left:25%; top:".$pos." z-index:1; background-color: #444444; layer-background-color: #444444; border: 5px; border-color: #000000; visibility: hidden;'>
			<div style='width:300px' align='right'><b><font size='2'><a href='#' onClick=\"MM_showHideLayers('divdesc','','hide')\">Fechar [X]</a></font></b></div>
			<div style='width:300px; align:justify'>".$row['descricao']."</div>
		</div>


Como meu site é em PHP, todas as aspas " estão no formato \". Bom, meu problema é o seguinte, no Firefox o código integrado no php funciona normalmente, porém no Internet Explorer não funciona. Quando eu faço a página em HTML, sem nada de php, ele funciona no Internet Explorer.


O que pode estar acontecendo?

Grande abraço.

Edição feita por: blecko, 22/01/2007, 03:10.

blecko ~ GunzArsenal.Com

Venda de espaço publicitário no www.GunzArsenal.com na forma de Banners e troca de links, tenho pagerank 4.

Clique aqui para ver mais informações e os formatos de anúncio no Gunz Arsenal


#2 carneiro

carneiro

    programador web

  • Usuários
  • 155 posts
  • Sexo:Não informado
  • Localidade:cascavel - pr
  • Interesses:programação e design para web

Posted 22/01/2007, 11:18

Acontece que o IE é muito chato ehehhee
se vc esquecer de fechar uma aspas ele ja nao funciona, o FireFox é mais inteligente =)

Nesse caso o PHP nao ta escrevendo as " onde tem \" ?? É isso?






Acontece que o IE é muito chato ehehhee
se vc esquecer de fechar uma aspas ele ja nao funciona, o FireFox é mais inteligente =)

Nesse caso o PHP nao ta escrevendo as " onde tem \" ?? É isso?
Descrição
Alexandre Magno Semmer
www.alexandresemmer.com
Programador Web

Programação
ASP, PHP, JavaScript, CSS, SQL, JAVA, C, Paschal, Ajax, XML
Usuário
Posted Image
Links
Ajax Online - FireBug (Firefox) - Documentação PHP - Documentação Prototype - Documentação jQuery - Script.Aculo.Us

#3 blecko

blecko

    Normal

  • Usuários
  • 81 posts
  • Sexo:Não informado

Posted 22/01/2007, 20:56

Acontece que o IE é muito chato ehehhee
se vc esquecer de fechar uma aspas ele ja nao funciona, o FireFox é mais inteligente =)

Nesse caso o PHP nao ta escrevendo as " onde tem \" ?? É isso?


Pior é que eu to ficando estressado com esse IE. Se as estatísticas do meu site não mostrassem que metade dos usuários que navegam nele usam IE e a outra metade Firefox, eu juro que faria o site inteiro somente pra usuários do Firefox.

Na verdade o IE interpreta tudo certo, eu peguei o código-fonte da página no IE depois de executada e analisei o código, está tudo mostrando certinho.

Eu simplesmente não faço idéia do que pode ser =\ já que eu não notei nenhum conflito do PHP com o Javascript. E fora do PHP essa página roda normalmente no IE.

Vou dar uma olhada com a galera do PHP também, ver se de repente eles acham algum conflito de linguagens.

Valeu cara, abração.
blecko ~ GunzArsenal.Com

Venda de espaço publicitário no www.GunzArsenal.com na forma de Banners e troca de links, tenho pagerank 4.

Clique aqui para ver mais informações e os formatos de anúncio no Gunz Arsenal


#4 fiote

fiote

    12 Horas

  • Usuários
  • 191 posts
  • Sexo:Masculino
  • Localidade:Vila Velha - ES
  • Interesses:PHP

Posted 23/01/2007, 11:23

dica:

ao inves de usar essa COISA PORCA que o dreamweaver faz (sim, funfa, mas é muuuita zona).. vc pode usar uma dessas aqui:

function esconde(div)
{
 document.getElementById(div).style.visibility = 'hidden';
}

function mostra(div)
{
 document.getElementById(div).style.visibility = 'visible';
}

function alterna(div)
{
 vis = document.getElementById(div).style.visibility;
 newvis = 'hidden'; 
 if (vis == 'hidden') newvis = 'visible';
 document.getElementById(div).style.visibility = newvis;
}

dica2: assim como eu alterei a visibildade do div aqui... você pode alterar praticamente QUALQUER caracteristica de qualquer elemento da sua pagina que tenha um id.

:)

Edição feita por: fiote, 23/01/2007, 11:51.

[ FFTOnline.Net ]
Developed by Fiote, Powered by Mootools.

#5 blecko

blecko

    Normal

  • Usuários
  • 81 posts
  • Sexo:Não informado

Posted 23/01/2007, 20:10

Resolvi o problema. Era as aspas do link que eu estava usando pra chamar o js. O correto é ficar href=\"#\" e não href='#'.

Então ficará assim (integrado no PHP, claro):
<a href=\"#\" onClick=\"mostra('divdesc')\">Descrição</a>


Mas muito obrigado pela ajuda, estou usando sue código agora fiote, de fato é bem melhor e mais limpo que o do Dreamweaver.
blecko ~ GunzArsenal.Com

Venda de espaço publicitário no www.GunzArsenal.com na forma de Banners e troca de links, tenho pagerank 4.

Clique aqui para ver mais informações e os formatos de anúncio no Gunz Arsenal





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq