Ir para conteúdo

POWERED BY:

Arquivado

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

daniper

arrray de div none

Recommended Posts

Olá, tenho uma função que esconde uma div z quando a div x e a div y:

 

function Show() {

$(document).ready(function() {

display1=$("#div_x").css("display");
display2=$("#div_y").css("display");

if((display1==="none") && (display2=="none")){

$("#div_z").css("display","block");

}else{

$("#div_z").css("display","none");

}
	
});


}	
			
	
		
Estou tentando fazer a mesma coisa usando array com callback:

 
function Show(callback,id) {
 
(function( $ ){  
   $(document).ready(function(){
 
    var display= new Array();
   
    for(i=0; i<id.length; i++){
   
display[p]=$("#"+id[i]).css("display");
 
if(typeof(display[i])!=="undefined"){
 
callback(!(display[i]=="none"));
 
}
 
    }
   
    });
   
})(jQuery);

 

 

Mais como faço para fazer a comparação dos dois elementos x e y na função de retorno?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ninguém me da uma luz?

Alguma maneira de fazer com arrays?

sem precisar usar uma única função e sim uma genérica para poder usar em outras funções.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, seu problema inicial não é o callback, é descobrir se estão ou não todas a mostra.

Então, fiz uma função que testa isso, e depois uso o resultado dela. Veja:

<div class="is-hidden"></div>
<div class="is-hidden"></div>
<div class="is-hidden"></div>
<div class="box is-hidden"></div>


<script>
function areHidden(arr) {
    var i = arr.length;
    while (i--) {
        if (!arr[i].className.match(/is-hidden/)) {
            return false;
        }
    }
    return true;
}

var divs = document.getElementsByTagName("div");

if(areHidden(divs)){
    console.log("Estao todas escondidas");
} else {
    console.log("Tem alguma(s) a mostra");
}
</script>

No meu caso, estou testando se elas tem uma classe chamada .is-hidden.

O resultado foi:

Estao todas escondidas

se eu rodasse contra esse html:

<div class="is-hidden"></div>
<div class="is-hidden"></div>
<div class="is-hidden"></div>
<div class="box"></div>

o resultado seria:

Tem alguma(s) a mostra

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.