mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 27.04.2024 13:09 Benutzername: Passwort: Auto-Login

Thema: for-Schleife wird nur mit vorherigem "alert" ausgeführt vom 25.05.2012


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Allgemeines - Nonprint -> for-Schleife wird nur mit vorherigem "alert" ausgeführt
Seite: Zurück  1, 2, 3, 4  Weiter
Autor Nachricht
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 25.05.2012 14:38
Titel

Antworten mit Zitat Zum Seitenanfang

volle101 hat geschrieben:
Vielen Dank für diese tolle Antwort.

Als ich genau diese Idee hatte, setzte ich "window.setTimeout('',5000);" an die Stelle von "alert". Und siehe da... das Problem bestand weiterhin.



Ja ach Du Nas, window.setTimeout('', 5000) erzeugt auch keinen Timeout (weil === undefined), sondern nix. Weil der erste Parameter ein gültiger Callback sein muss, und kein Emptystring.

Mal davon abgesehen dass die Idee hirnrissig is. RTFM: http://api.jquery.com/load/
  View user's profile Private Nachricht senden
volle101
Threadersteller

Dabei seit: 25.05.2012
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 25.05.2012 16:38
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo nochmal,

also gelöst habe ich es jetzt wie folgt:

Code:
<script type="text/javascript">
            
         function Ersetze () {
            var span = document.getElementsByTagName("span");
            for (var i = 0; i < span.length; ++i)
               {
                 span[i].innerHTML = span[i].innerHTML.replace(/<br>/g,"&nbsp;");
                }
            }
         window.setTimeout("Ersetze()", 500);
         
        $(document).ready(function()
           {
            $("div#link1").load("/bilder.htm div#galerieauswahl td.box2 span.galerie1");
            $("div#link2").load("/bilder.htm div#galerieauswahl td.box2 span.galerie2");
            $("div#link3").load("/bilder.htm div#galerieauswahl td.box2 span.galerie3");
            $("div#link4").load("/bilder.htm div#galerieauswahl td.box2 span.galerie4");
            $("div#link5").load("/bilder.htm div#galerieauswahl td.box2 span.galerie5");
            $("div#link6").load("/bilder.htm div#galerieauswahl td.box2 span.galerie6");
            $("div#link7").load("/bilder.htm div#galerieauswahl td.box2 span.galerie7");
            $("div#link8").load("/bilder.htm div#galerieauswahl td.box2 span.galerie8");
         });
     </script>



Es funktioniert zwar, aber offensichtlich ist das nicht das Optimum. Leider bin ich bei jQuery noch nicht so sehr eingearbeitet. Sollte jemand Verbesserungsvorschläge haben, bin ich für einen entsprechenden Post sehr dankbar.

Dennoch und sowieso... Vielen Dank!!!


Zuletzt bearbeitet von volle101 am Fr 25.05.2012 16:39, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 25.05.2012 16:40
Titel

Antworten mit Zitat Zum Seitenanfang

Code:

for(var i=0; i<5; i++)
{


RTFM: http://api.jquery.com/load/


Zuletzt bearbeitet von Nimroy am Fr 25.05.2012 16:59, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 25.05.2012 16:41
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
}
  View user's profile Private Nachricht senden
volle101
Threadersteller

Dabei seit: 25.05.2012
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 25.05.2012 16:52
Titel

Antworten mit Zitat Zum Seitenanfang

Warum "i<5" an Stelle von "i<span.length"?

Der Link ist ja sehr nett, aber verstehen tu ich da so gut wie nix. :S


Zuletzt bearbeitet von Nimroy am Fr 25.05.2012 16:58, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
Karlarsch

Dabei seit: 05.02.2007
Ort: -
Alter: 58
Geschlecht: Männlich
Verfasst Fr 25.05.2012 17:04
Titel

Antworten mit Zitat Zum Seitenanfang

Ich vermute bacon möchte dich auf die "Callback Function" hinweisen, welche dir interessante Alternativen zu deinem Versuch offenbaren kann.

Gruß
Karl
  View user's profile Private Nachricht senden
volle101
Threadersteller

Dabei seit: 25.05.2012
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 25.05.2012 17:25
Titel

Antworten mit Zitat Zum Seitenanfang

Wenn ich das richtig verstehe, werden die Anweisungen damit erst ausgeführt, nachdem die html vollständig geladen ist, richtig?

Dieses wäre doch aber durch meine Vorbedingung "$(document).ready(..." schon gegeben, oder?
  View user's profile Private Nachricht senden
ChrisKam

Dabei seit: 01.07.2009
Ort: Hattingen
Alter: 38
Geschlecht: Männlich
Verfasst Fr 25.05.2012 17:42
Titel

Antworten mit Zitat Zum Seitenanfang

volle101 hat geschrieben:
aber offensichtlich ist das nicht das Optimum.


Nee, nicht ganz *zwinker*

Es ist das load(), das die Zeit braucht. Du kannst erst dann was im DOM ersetzen lassen, wenn es auch da ist!

Ich arbeite auch erst seit kurzem mit JQuery, aber versuche es doch mal ungefähr so

Code:

$(document).ready(function(){
   $('div.link').each(function(index){
      $(this).load('/bilder.htm div#galerieauswahl td.box2 span.galerie'+index,function(){
         $('br', this).replaceWith('&nbsp;');
      });
   });   
});


#link1 #link2 usw. zu schreiben ist unnötig, hier werden alle divs mit der Klasse .link selektiert und dann über den Index ersetzt. Sobald das geschehen ist, wird die Callback Funktion aufgerufen, die dann alle <br>s ersetzt.

Bin übrigens bei Load nicht so sicher, ob man die Variable da so einfach reinknallen kann. Ich würde es mal ausprobieren.

edit: ein Leerzeichen war zuviel


Zuletzt bearbeitet von ChrisKam am Fr 25.05.2012 17:46, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen window.alert popUP
Alert Box kommt automatisch
Flash Objekt -> Alert Fenster bei ie6?
Javascript Wuiz - wie schalteich die Alert-Messages ab
[php] return wird nicht ausgeführt
PHP Script wird nicht ausgeführt
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2, 3, 4  Weiter
MGi Foren-Übersicht -> Allgemeines - Nonprint


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.