Frage von PG001, 100

Jquery onClick div anzeigen - was mache ich falsch?

Hallo Zusammen,

ich habe folgenden Code:

<div class="menupoint"><a id="openlogin">LOGIN</a></div>
            <div class="menupoint"><a id="openregistration">REGISTRIERUNG</a></div>

    
 
    <script>
$(document).ready(function(c) {
    $('.overallclose').on('click', function(c){
        $(this).parent().fadeOut('slow', function(c){
        });
    }); 

    $('#openlogin').on('click', function(c){
        $('#login').fadeIn('slow', function(c){
        });
    }); 
    
    $('#openregistration').on('click', function(c){
        $('#registration').fadeIn('slow', function(c){
        });
    }); 

    
});

</script>

Ich möchte durch einen Click auf den Link "Login" oder "Registration" jeweils ein unterschiedlichen div sichtbar machen. So wie es jetzt ist funktioniert es leider nur für den div #login, beim div #registration funktioniert das komischerweise nicht.

Weiss jemand woran das liegen könnte?

Gruß PG

Antwort
von Sarkophator, 62

Soweit scheint an dem Code den du hier zeigst nichts falsch zu sein. Bist du sicher dass das div#registration auch display: none ist? Sonst geht fadeIn nicht.

Kommentar von PG001 ,

Hi,

Hier ist der restliche Code:

.overall{
width: 100%;
height: 100%;
z-index: 1000;
background-color: black;
opacity: 0.9;
position: fixed;
text-align: center;
padding-top: 15%;
color: #FFFFFF;
display:none;
}
<div class="overall" id="registration">
<a class="overallclose">X</a>
<p>REGISTRIERUNG</p>
<p><input type="text" class="registrierungsform" placeholder="Name"></p>
<p><input type="text" class="registrierungsform" placeholder="E-Mail"></p>
<p><input type="password" class="registrierungsform" placeholder="Passwort"></p>
<p><input type="password" class="registrierungsform" placeholder="Passwort wiederholen"></p>
</div>

<div class="overall" id="login">
<a class="overallclose">X</a>
<p>Login</p>
<p><input type="text" class="registrierungsform" placeholder="Name"></p>
<p><input type="text" class="registrierungsform" placeholder="E-Mail"></p>
<p><input type="password" class="registrierungsform" placeholder="Passwort"></p>
<p><input type="password" class="registrierungsform" placeholder="Passwort wiederholen"></p>
</div>

Über die id #login oder #registration möchte ich nur steuern welches div ich anzeigen möchte.

Lg

Kommentar von Sarkophator ,

Hm, da scheint wohl irgendwas anderes schief zu laufen, hab deinen Code mal 1:1 hier reingepastet und es funktioniert so wie (wahrscheinlich) erwünscht (außer man stellt jQuery 1.6.4 ein, aber ich nehme mal an dass du das nicht nutzt):

https://jsfiddle.net/jhLzg626/

Klingt eventuell nach einem Ladefehler oder Probleme mit Cache. Falls nicht, mal checken ob die click-Events (und document.ready) korrekt ausgeführt werden. Mehr würde mir gerade auch nicht einfallen denke ich.

Kommentar von PG001 ,

Ah supi, danke dir!

Ich habe im Header Bereich relativ große Bilder, die sich nach x Sekunden ändern.
Könnte dass das Problem sein?

Ansonsten würde mir da auch nix mehr einfallen :-(

Kommentar von Sarkophator ,

Inwiefern ändern? Ist das ein anderes Script? Falls ja, dann kann es gut sein dass das dazwischenfunkt.

Kommentar von PG001 ,

Ich sehe gerade dass ich das Script direkt unter den einzublendenden Divs habe. Das müsste unter den kompletten Body-Tag richtig?

Ich werde es heute Abend mal versuchen

Kommentar von Sarkophator ,

Da das alles in $(document).ready() passiert, sollte das eigentlich keinen Unterschied machen.

Kommentar von PG001 ,

ach ich depp hatte noch ein anderes div mit der id registration -.-

Danke dir!!

Keine passende Antwort gefunden?

Fragen Sie die Community