Ir para conteúdo

POWERED BY:

Arquivado

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

Azumi

Div - Visivel ou não, Over ou Out.....

Recommended Posts

Gente bom dia!

 

Tenhos 2 div's, onde um "chama" o outro e estou usando da seguinte maneira:

 

<div id="mAgenda" onmouseout="this.style.visibility = 'hidden'"></div>
<div id="apDivAgenda" onmouseover="mAgenda.style.visibility = 'visible'">Agenda</div>

Isso funciona bem no IE mas no FF não, porém eu acho que tem algum jeito mais facil pra fazer isso ai, e que funcione nos 2 (FF e IE), alguem tem alguma sugestão?

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Azumi, bom dia.

 

Aqui na seção de JavaScript tem diversos exemplos sobre display:none e display:block; visibility:visible e visibility:hidden.

 

Se tiver dúvidas retorne aqui.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caramba novato é f***, se eu tivesse olhado num tinha aberto um post inutil, aheuaheuahea.

 

Teve um colega que posto extamente o que eu precisava, eu sei que é isso por causa do post, mas eu queria que me explica-se a ultima linha, não entendi ela.

function onoff(id) {
var el = document.getElementById(id);
el.style.display = (el.style.display=="none") ? "" : "none";}

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele define a variável el se referindo à um elemento. Em seguida, faz uma verificação com o operador ternário ? :, que é um IF simplificado, nesse caso ele verifica se o objeto referenciado por el está escondido (display == 'none'), se tiver escondido, não faz nada ( "" ), caso contrário irá esconder.

 

Esses codes abaixo teriam o mesmo resultado:

 

var el = document.getElementById(id);
if (el.style.display == 'none') {
	 //não faz nada
}
else {
	 el.style.display = 'none';
}

var el = document.getElementById(id);
if (el.style.display != 'none') {
	 el.style.display = 'none';
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito interessante esse operador ternário, num conhecia isso não.

 

Eu sabia que tinha um código aqui pra exebir/ocultar um Div tanto no IE como no Firefox, e só num tava achando xD, segue

 

function findObj(n, d) {
  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=findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function shLayers() {
  var i,p,v,obj,args=shLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=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; }
}

Ai ele é usado assim:

 

onmouseover="shLayers('Div01','','show')"  ou onmouseout="shLayers('Div01','','hide')"

Muito simples e nunca me deixou na mão, espero que seja útil a alguém.

 

xD

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.