lisali
Erfahrenes Mitglied
Hallo,
ich habe mit JQuery so ein Script, dass einen Div Container ein- und ausblendet. Bei einem Klick wird der Textlink auch umgeändert von "ausblenden" in "anzeigen".
Das klappt auch alles prima, aber ich möchte jetzt eine if-Bedingung hinzufügen, wenn die Klasse "dn" in diesem div-Container steht.
Also "dn" bedeutet bei mir in der CSS: dn { display: none; } ... sprich der Div-Container wird anfangs nicht angezeigt.
Ich möchte also nur, dass wenn ich "dn" im Container drin stehen habe, es sich genau umgekehrt verhält. Dass eben nicht zuerst "ausblenden", sondern "anzeigen" dort steht.
Das ist der Code:
html:
ich habe mit JQuery so ein Script, dass einen Div Container ein- und ausblendet. Bei einem Klick wird der Textlink auch umgeändert von "ausblenden" in "anzeigen".
Das klappt auch alles prima, aber ich möchte jetzt eine if-Bedingung hinzufügen, wenn die Klasse "dn" in diesem div-Container steht.
Also "dn" bedeutet bei mir in der CSS: dn { display: none; } ... sprich der Div-Container wird anfangs nicht angezeigt.
Ich möchte also nur, dass wenn ich "dn" im Container drin stehen habe, es sich genau umgekehrt verhält. Dass eben nicht zuerst "ausblenden", sondern "anzeigen" dort steht.
Das ist der Code:
Code:
$("a").click(hFn=function (){
var fn = hFn;
var _this = this;
$(this).unbind('click', fn);
$("div#"+this.id+'_div').slideToggle("normal", function()
{
var strSrc = strUpDown = "";
if($(_this).find("img").attr("src").search(/arrow_up\.gif/)!=-1)
{
strSrc = "img/icons/arrow_down.gif";
strUpDown = "anzeigen";
}
else
{
strSrc = "img/icons/arrow_up.gif";
strUpDown = "ausblenden";
}
$(_this).find("img").attr({ src: strSrc }).fadeOut('normal').fadeIn('normal');
$(_this).find("span").fadeOut('normal', function(){ $(_this).find("span").html(strUpDown); }).fadeIn('normal');
$(_this).bind('click', fn);
});
});
html:
HTML:
<a id="toggle1" class="cp fr"><span>ausblenden</span> <img alt='' src="img/icons/arrow_up.gif" /></a>
<div id="toggle1_div" class="dn"> inhalt </div>