Variable mit jquery erhöhen

8

Ich denke, das ist eine ziemlich einfache Sache, aber ich kann nicht die Lösung finden. Ich versuche, einen Wert nach dem Laden eines IFRAME zu erhöhen.

Der Code sieht so aus:

%Vor%

Was ich tun möchte, ist eine Anzahl geladener Iframes, die aktualisiert werden, wenn ein Iframe geladen wird. Der Ausgabecode ist derzeit so:

%Vor%

Vielen Dank im Voraus für jede Hilfe!

    
user791187 05.07.2012, 05:55
quelle

5 Antworten

2

Ich habe schließlich eine sehr einfache Lösung gefunden:

%Vor%     
user791187 05.07.2012, 23:36
quelle
13

Sie sollten

ändern %Vor%

bis

%Vor%

Weil das Schlüsselwort var jedes Mal eine neue Variable in Ihrer load erstellt, wird die globale Variable x nicht aktualisiert / inkrementiert.

    
The Alpha 05.07.2012 05:57
quelle
5

Sie deklarieren lokale Variable in der Funktion load callback, so dass die globale x nicht erhöht wird. Sie können var x innerhalb der dom ready-Callback-Funktion deklarieren und sie in der load-Callback-Funktion verwenden.

%Vor%

Bearbeiten: Danach funktioniert document.write(x + " Results"); immer noch nicht, da es ausgeführt wird, bevor der Iframe geladen wurde. Sie müssen eine Überprüfung asynchron durchführen.

Hier ist die Live-Demo .

%Vor%

Der html:

%Vor%     
xdazz 05.07.2012 05:58
quelle
0

Javascript hat "Funktionsumfang" - Variablen existieren nur innerhalb der Funktion, in der sie erstellt wurden. So ist es möglich, mehrere verschiedene Variablen namens x zu haben, wenn und nur wenn sie in verschiedenen Funktionen sind (was hier der Fall ist) ).

Variablen werden mit dem Schlüsselwort var erstellt und ohne ein Schlüsselwort aufgerufen. So erstellt var x = 10; eine Variable mit dem Namen x , und x = 10; ändert eine vorhandene Variable mit dem Namen x .

In Ihrem Code ruft jede Funktion var x = 10; auf. Da das zuvor definierte x in einer äußeren Funktion definiert wurde, ist diese Zeile gültig und hat eine neue Variable namens x erstellt, die auf die aufgerufene Funktion beschränkt ist. Wenn Sie die var -Anweisung weglassen, wird Der Interpreter würde zuerst den Namespace der aktuellen Funktion betrachten und nicht x finden. Dann würde es sich in den globalen Bereich bewegen und die x finden, die Sie bereits deklariert haben, und diese verwenden.

Kurz gesagt, lassen Sie in jeder Zeile außer Zeile 1 das Wort var weg:

%Vor%     
st-boost 05.07.2012 06:08
quelle
0

Eine andere Alter-Lösung für obige Abfrage mit jQuery ist hier ...

HTML:

%Vor%

JQuery:

%Vor%

Versuchen Sie auch Codebins Ссылка

    
gaurang171 05.07.2012 10:25
quelle

Tags und Links