Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Salve amigos,
Tenho um quebra-cabeças nas mãos e preciso de ajuda.
Vou explicando o problema por partes e postando o código ok!?
Vamos lá!
Tenho um Título que quando clicado, abre uma DIV e muda a class deste Título
<h1>
<a href="java script:void(0)" onclick="toggleH1(this);">
<span><img src="images/ico-setaLeft.png" alt="Abrir" /> Título</span>
</a>
</h1>
Aabixo deste Título abre a DIV PAi que contem um Sub-Título e uma DIV FILHO
<div style="display:none;">
<h2>
<a href="#" onclick="toggle('subSecao1');">Sub-Título</a>
</h2>
<div id="subSecao1" class="contentBox" >
<div class="contentCont">
TEXTO
</div>
// botão de fechar DIV
<div class="contentClose" align="right" style="margin-bottom:-4px;">
<a href="#" onclick="toggle('subSecao1');">
<img src="images/contentUp.png" alt="Fechar"/>
</a>
</div>
</div>
Notem que dentro da DIV FILHO existe um botão que deve fechar a DIV - e ele realmente fecha, mas ai é que está o meu problema, preciso que a DIV PAI seja fechada e que o Título mude a classe.
Segue os códigos JavaScript
function toggleH1(link) {
var h1 = link.parentNode;
if (h1.className == "selectedH1") {
h1.className = "";
toggleFilho(link, "images/ico-setaDown.png", "images/ico-setaLeft.png");
return;
}
for (var node = h1.parentNode.firstChild; node; node = node.nextSibling) {
if (node != h1 && node.nodeName.toLowerCase() == "h1" && node.className == "selectedH1") {
node.className = "";
var otherLink = node.getElementsByTagName("a")[0];
toggleFilho(otherLink, "images/ico-setaDown.png", "images/ico-setaLeft.png");
}
}
h1.className = "selectedH1";
toggleFilho(link, "images/ico-setaDown.png", "images/ico-setaLeft.png");
}
function toggleFilho(link, imgOpen, imgClosed) {
var obj = link.parentNode.nextSibling;
while (obj && obj.nodeName.toLowerCase() != "div") {
obj = obj.nextSibling;
}
var img = link.getElementsByTagName("img")[0];
if (obj) {
if (obj.style.display == "none") {
obj.style.display = "";
if (img && imgOpen) {
img.src = imgOpen;
}
} else {
obj.style.display = "none";
if (img && imgClosed) {
img.src = imgClosed;
}
}
}
}
function toggle(obj) {
var el = typeof obj == "string" ? document.getElementById(obj) : obj;
if ( el.style.display != 'none' ) {
el.style.display = 'none';
}
else {
el.style.display = '';
}
}
Esse código não foi escrito por mim e sim pelo antigo programador que trabalhava aqui antes de mim ok!
Desde já agradeço a força!
Abraços,
Gustavo
Carregando comentários...