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!
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.
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% 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:
Eine andere Alter-Lösung für obige Abfrage mit jQuery ist hier ...
HTML:
%Vor%JQuery:
%Vor%Versuchen Sie auch Codebins Ссылка
Tags und Links javascript jquery