Antworten auf deine Fragen:
Neues Thema erstellen

jQuery - if/else nach erneutem function aufruf

eRohde

Aktives Mitglied

Hallo Leute,

ich habe ein Problem bei einer if-else-Bedingung, dessen Lösung ich einfach nicht finde.

Javascript:
function beispiel(){

     vergleich = 2;
     zaehler = 0;
  
     $(".div1").on("click", function(){
           if (zaehler < vergleich){
               $(".div2").show();
               zaehler++;
           } else {
               $(".div2").hide();
           }
     });               
}
beispiel();
           
$(".nochmal").on("click", function(){
     beispiel();
});

Wenn ich nun beim ersten Aufruf des Scripts auf div1 clicke, wird der zaehler bei jedem click um 1 erhöht, das div2 wird angezeigt, bis der zähler = 2 ist und das div2 wieder ausgeblendet wird. Bis hierhin ist alles gut.
Rufe ich nun über .nochmal die function beispiel erneut auf, ist der zaehler wieder auf 0 gestellt. Ebenfalls gewollt.
Aber, wenn ich jetzt wieder auf div clicke, durchläuft er die if/else-Bedingung bis else erreicht ist. Er stellt also bei einmal clicken den zähler schrittweis auf 2 und zeigt das div2 erst garnicht an. Warum passiert das?

Meine Überlegung ist, dass beim ersten Durchlauf des Scripts irgendwas im Cache gespeichert wurde, auf das beim zweiten Durchlauf zurückgegriffen wird.

Ich hoffe, mir kann jemand helfen. =)
 

fakerer

Aktives Mitglied

Hi,
ich vermute mal das Problem könnte in der on click Funktion in einer Funktion sein.
ich würde das ganze so machen finde ich dann auch übersichtlicher.

Javascript:
var zaehler = 0;
var vergleich = 2;

function runBeispiel(){
    if (zaehler < vergleich){
        $(".div2").show();
        zaehler++;
    } else {
        $(".div2").hide();
    }
}

$(".div1").click(function() {
  runBeispiel();
});

$(".nochmal").click(function() {
  zaehler = 0;
  runBeispiel();
});
 

eRohde

Aktives Mitglied

Moin fakerer,

du hast Recht! Jetzt wo die Funktion zunächst ausgelagert und einzeln aufgerufen wird, klappts - auch mit on click.
Ich danke Dir!
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben