Antworten auf deine Fragen:
Neues Thema erstellen

jQuery: Elemente nacheinander einblenden

Agosphere

deadhead

Moin moin,

ich möchte hier einen Smiley Pixel für Pixel aufklappen lassen, wenn auf das "Go!" geklickt wird, nur bekomme ich es nur hin, entweder alles oder nichts aufklappen zu lassen ;P
der loop muss irgendwie anders... könnt ihr mir sagen, wie? am (this) scheitert es halt
um das komplette bild zu sehen, bei jQ den ersten .hide() befehl rausnehmen
http://jsfiddle.net/wEZ8G/

Vielen Dank schonmal im Voraus
 

Duddle

Posting-Frequenz: 14µHz

$(this) ist $('#smiley #smiley_go'), also ist $(this).next() das nächste <div>. Auch wenn du es zwanzig mal aufrufst bleibt der Kontext gleich, also bleibt das ausgewählte <div> gleich.


Duddle
 

Agosphere

deadhead

Ja, das weiß ich.. wie kann man es denn so machen, dass er immer das jeweils nächste vom vorherig eingeblendeten ansteuert? Steh' grad aufm Schlauch
 

cebito

undefined

Warum benutzt du nicht deinen Zähler um direkt anzusprechen?
PHP:
$('#smiley div:nth-child(' + i + ')')
Aber, was du vorhast (was ich denke) wird dir so nicht gelingen. Also das sie sich nacheinander einblenden. Da musst du schon einen Timeout einbauen.
 

Agosphere

deadhead

Ok, der :nth-child Ansatz ist schonmal supi :))
timeout so?
PHP:
var i = 1;
      while(i <= 225) {
                setTimeout(function() {
                    $('#page4 #smiley div:nth-child(' + i + ')').fadeIn();
                    i++;
                }, 500);
            }
dabei stürzt er mir ab haha :rolleyes:

bei dem wird weiterhin alles direkt eingeblendet:
PHP:
var i = 1;
      while(i <= 225) {
                    $('#page4 #smiley div:nth-child(' + i + ')').fadeIn();
                    setTimeout(function() {}, 500);
                    i++;
            }
 

Duddle

Posting-Frequenz: 14µHz

setTimeout ist keine Pause, sondern wie ein Wecker, nur eben dass du festlegst, was beim "Klingeln" passiert. Dein erster Ansatz ist also korrekter als der andere. Der Absturz kommt wohl davon, dass du zu viel zugleich machen willst.

Der bessere Weg wäre aber, wenn ein Timeout sich selbst nach 500ms aufruft, nur eben mit einem erhöhten Index. Alternativ könntest du mit einem Callback in .fadeIn() die Funktion aufrufen, die das Element auswählt und darauf .fadeIn() aufruft, usw.


Duddle
 

Agosphere

deadhead

boah! o_O
habe noch nie was mit canvas gemacht. Das ist ja saaagenhaft :) Da muss ich mich ja mal schlau machen, damit ich das verstehe - gaaanz vielen Dank :) :danke:
 
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.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben