zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden Slideshow timer

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 10.12.2010, 17:53
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 23.09.2010
Beiträge: 29
uthomas befindet sich auf einem aufstrebenden Ast
Standard Slideshow timer

Hallo,

ich möchte eine Slideshow bauen ähnlich dem vom steam shop ( Welcome to Steam )

Wie kann ich den Timer für den Bilderwechsel starten?
Gibt es sowas wie
Code:
<div id="slideshow" onload="goTimer();">
   ...
</div>
Danke!
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 13.12.2010, 12:16
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von uthomas Beitrag anzeigen
Hallo,

ich möchte eine Slideshow bauen ähnlich dem vom steam shop ( Welcome to Steam )

Wie kann ich den Timer für den Bilderwechsel starten?
Gibt es sowas wie
Code:
<div id="slideshow" onload="goTimer();">
   ...
</div>
Danke!
Nein. Aber was hindert dich das Skript unmittelbar hinter dem Element einzubauen und zu starten?

Geändert von protonenbeschleuniger (14.12.2010 um 00:17 Uhr)
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 13.12.2010, 13:27
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 29.07.2005
Beiträge: 1.073
xm22 befindet sich auf einem aufstrebenden Ast
Standard

onload gibt es nur im Body-Tag (Und bei Bildern evtl.)

Zitat:
Nein. Aber was hinter dich das Skript unmittelbar hinter dem Element einzubauen und zu starten?
Das kann zu Problemen im IE führen, wenn Aktionen ausgeführt werden, die den DOM-Baum manipulieren, so lange der nicht komplett geladen wurde.

Allerdings bringen die meisten JS-Frameworks einen Mechanismus für so etwas mit. Z. B. bei jQuery das ready-Event
Code:
$(document).ready(function() {
    goTimer();
});
__________________
... Meine Meinung
Mit Zitat antworten
  #4 (permalink)  
Alt 13.12.2010, 14:01
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von xm22 Beitrag anzeigen
Das kann zu Problemen im IE führen, wenn Aktionen ausgeführt werden, die den DOM-Baum manipulieren, so lange der nicht komplett geladen wurde.
Es geht ja konkret um die slideshow, also reicht es aus, dass Skript unmittelbar nach dem Element zu starten.
Mit Zitat antworten
  #5 (permalink)  
Alt 13.12.2010, 14:18
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

So eine 'Endlosschleife' wird als Funktion umgesetzt, die sich mittels setTimeout() nach einer gewissen Zeit selbst aufruft.

Code:
function slideEffect() {
    //Effect
    timeOutRef = setTimeout("slideEffect()", 1000);
}

function run() {
    if(!is_running) {
       is_running = 1;
       slideEffect();
    }
}
function stop() {
     clearTimeout(timeOutRef);
     is_running = 0;
}
Die Funktion run() wird aufgerufen, wenn das Dokument geladen ist, dann ist es auch gleich, an welcher Stelle im Quelltext das Script eingebunden ist.
__________________
github | http://dnaber.de
Mit Zitat antworten
  #6 (permalink)  
Alt 13.12.2010, 18:02
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 29.07.2005
Beiträge: 1.073
xm22 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Es geht ja konkret um die slideshow, also reicht es aus, dass Skript unmittelbar nach dem Element zu starten.
? Du weißt doch gar nicht, wie seine Slideshow funktioniert..
__________________
... Meine Meinung
Mit Zitat antworten
  #7 (permalink)  
Alt 13.12.2010, 18:24
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Naja, das läßt sich aber aus dem Codeschnipsel erahnen.
Mit Zitat antworten
  #8 (permalink)  
Alt 14.12.2010, 14:33
Benutzerbild von Unsk1ll3d
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 03.01.2006
Beiträge: 206
Unsk1ll3d befindet sich auf einem aufstrebenden Ast
Standard

onLoad ist ein Eventhandler, der auf "nachzuladende" Inhalte anwendbar ist. Beispielsweise auf Bilder, Videos oder andere Medieninhalte wie Scripte.

Sehr geil, nach kurzem googlen sogar ne brauchbare JavaScript-Referenz dazu gefunden:
'onLoad' is applied to : onLoadEvent Handlers ReferenceJavaScript Reference

Scripte solltest du kurz vor das Ende des body-Elements einbinden. Dann kann der Browser die Seite schon mit dem CSS rendern und die JavaScript-Dateien parallel nachladen. Sonst hast du das sogenannte "Flash of Unstyled Content" Problem.

Wie du das machst, ist unterschiedlich.
Beispielsweise wird in neueren Browsern (müsste DOM Level 1 sein) das "DOMContentLoaded" Event gefeuert werden, wenn der Inhalt (also auch die Bilder) geladen wurden.

Denke daran, dass Bilder fast von allen Browsern zum Schluss geladen werden und dann platziert werden. Das ist ein asynchroner Prozess. Je nach Aufbau kann z.B. das erste Bild schon vor dem CSS fertig geladen sein.
__________________
Ich bin keine Signatur, ich putz hier nur
Mit Zitat antworten
  #9 (permalink)  
Alt 14.12.2010, 14:39
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Naja, ob die brauchbar ist bezweifle ich. Es gibt keinen onLoad Handler in JS
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 14.12.2010, 14:40
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Zitat:
Zitat von Unsk1ll3d Beitrag anzeigen
Scripte solltest du kurz vor das Ende des body-Elements einbinden. Dann kann der Browser die Seite schon mit dem CSS rendern und die JavaScript-Dateien parallel nachladen.
Ja, genau aus dem Grund sollte man das tun.

Zitat:
Zitat von Unsk1ll3d Beitrag anzeigen
Sonst hast du das sogenannte "Flash of Unstyled Content" Problem.
Nein, das Problem FOUC tritt nur im IE und auch nur bei Verwendung von @import auf. Mit Skripten hat das nichts zu tun. Wenn die Skripte im head eingebunden werden, wartet der Browser schlicht so lange bis die Skripte geladen sind und beginnt dann mit dem Rendern.
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
DHTML slideshow & lightbox Problem Scolex Javascript & Ajax 1 24.02.2011 09:59
Javascript slideshow script - Fehler in Firefox. trent Javascript & Ajax 2 22.11.2010 09:45
Timer gesucht Thuroc Javascript & Ajax 3 29.01.2010 13:25
Slideshow soll durch MouseoverLink ein bestimmtes Bild zeigen Bloedlah Javascript & Ajax 0 23.08.2009 13:18
javascript slideshow mit css platzieren zarahz CSS 12 25.02.2008 21:25


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:01 Uhr.