2016-10-11 2 views
0

Ich habe zwei divs, die als Tasten arbeiten, aber wenn ich die erste aktiviert habe und ich klicke auf die andere öffnet die erste offene div nicht selbst so überlappen sie müssen Sie manuell schließen, und das ist wirklich unpraktisch. Hier sind die Funktionen:Wie schließe ich den Knopf, der offen ist, bevor der nächste in jquery geöffnet wird?

$(function() { 
    $('#profileButtonImg img').click(function() { 
     $("#myProfileMain").stop(true).fadeToggle(250); 
    }); 
}); 
$(function() { 
    $('#optionsButtonImg').click(function() { 
     $("#myOptionsMain").stop(true).fadeToggle(250); 
    }); 
}); 

Und hier sind die Tasten, die die divs geöffnet werden angeklickt:

<img id="profileButtonImg" src="pic1.jpg" /></div> 
<div id="optionsButtonImg"></div> 

Hier sind die divs, die gemischt werden:

<div id="myProfileMain" style="display:none;"></div> 
<div id="myOptionsMain" style="display:none;"></div> 
+0

Ihr geschrieben Selektor ' '#profileButtonImg img'' nichts passen in Bezug auf Ihre gepostet HTML Markup –

+0

'$ ('# profileButtonImg')' sollte '$ ('# profileButtonImg')' –

+0

Ich weiß, und ich benutzte das vorher, aber es funktionierte wieder so:/Weiß wirklich nicht warum: O –

Antwort

1

Es gibt viele bessere Möglichkeiten, dies unter als meine Antwort zu tun:

$(function() { 
    $('#profileButtonImg').click(function() { 
     $("#myProfileMain").stop(true).fadeToggle(250); 
     $("#myOptionsMain").stop(true).fadeOut(250); 
    }); 
}); 
$(function() { 
    $('#optionsButtonImg').click(function() { 
     $("#myOptionsMain").stop(true).fadeToggle(250); 
     $("#myProfileMain").stop(true).fadeOut(250); 
    }); 
}); 
+0

Dies ist nur arbeiten, wenn ich #profileButtonImg zuerst und dann versuchen, #optionsButtonImg zu öffnen, aber nicht umgekehrt :(@sajan –

+0

überprüfen Sie diese Geige und lassen Sie mich wissen, was Sie ändern wollen https://jsfiddle.net/y2ubt270/ – Sajan

+0

Komisch, ich habe das kopiert und jetzt funktioniert es: D muss ein Fehler in meinen Tags sein oder etwas, das ich nicht verstanden habe: O Danke !! @sajan –

0

Ändern Sie diese

('#profileButtonImg img').click(

diese

('#profileButtonImg').click(

Die erste Linie bedeutet, dass der Auslöser ein img innerhalb eines div mit Id profileButtonImg ist. Aber in der Tat selbst das img hat, dass Id

Verwandte Themen