Ladereihenfolge beeinflussen
Chris Donner
- html
0 gast420 Chris Donner0 Matthias Apsel0 Chris Donner0 EKKi0 Matthias Apsel
2 ChrisB0 bleicher0 Novi
Hallo...
Ich habe eine Website mit einem div Container samt CSS Hintergrundbild. in diesem div Container wird Text mit geladen. Nun zeigt er logischerweise den Text eher an als das Hintergrundbild - da das ja zum Laden länger benötigt (sofern nicht im Cache).
Das sieht aber in diesem Fall unprofessionell aus. Gibt es mMöglichkeiten den Text erst dann anzeigen zu lassen, wenn das Hintergundbild definitiv geladen ist?!
Gruss, Chris
Das sieht aber in diesem Fall unprofessionell aus. Gibt es mMöglichkeiten den Text erst dann anzeigen zu lassen, wenn das Hintergundbild definitiv geladen ist?!
du kannst per JavaScript Änderungen an der fertig geladenen Seite vornehmen:
window.onload=function () {
/* mache Text sichtbar */
}
du solltest nur darauf achten, dass bei deaktiviertem JavaScript die Seite nicht unbenutzbar wird
Das sieht aber in diesem Fall unprofessionell aus. Gibt es mMöglichkeiten den Text erst dann anzeigen zu lassen, wenn das Hintergundbild definitiv geladen ist?!
du kannst per JavaScript Änderungen an der fertig geladenen Seite vornehmen:
window.onload=function () {
/* mache Text sichtbar */
}
> du solltest nur darauf achten, dass bei deaktiviertem JavaScript die Seite nicht unbenutzbar wird
Okay, kann mir jemand mal den Code mit onload genau aufschreiben?! Javascript bin ich leider nicht so ganz konform...
Das wäre sehr nett, danke schonmal...
Om nah hoo pez nyeetz, Chris Donner!
du kannst per JavaScript Änderungen an der fertig geladenen Seite vornehmen:
> > window.onload=function () {
> > /* mache Text sichtbar */
> > }
> >
Okay, kann mir jemand mal den Code mit onload genau aufschreiben?! Javascript bin ich leider nicht so ganz konform...
Du möchtest also die Darstellung ändern. Dies geschieht mittels CSS. Mit Javascript änderst du Klassenzugehörigkeit, zum Beispiel, des body-Elementes
var body = getElementsByElement[0]; body.className = "js_on"
Jetzt kannst du mit dem Nachfolgeselektor arbeiten.
Matthias
Om nah hoo pez nyeetz, Chris Donner!
du kannst per JavaScript Änderungen an der fertig geladenen Seite vornehmen:
window.onload=function () {
/* mache Text sichtbar */
}
>
> > Okay, kann mir jemand mal den Code mit onload genau aufschreiben?! Javascript bin ich leider nicht so ganz konform...
>
> Du möchtest also die Darstellung ändern. Dies geschieht mittels CSS. Mit Javascript änderst du Klassenzugehörigkeit, zum Beispiel, des body-Elementes
>
> var body = getElementsByElement[0];
> body.className = "js\_on"
>
> Jetzt kannst du mit dem Nachfolgeselektor arbeiten.
>
>
> Matthias
Danke schonmal für die Ansätze...aber ich bräuchte es detaillierter
Irgendwie muss ich doch mit
window.onload=function () {
> > /\* mache Text sichtbar \*/
> > }
die div Box erst anzeigen, wenn die Seite vollständig geladen wurde. kann mir jemand diesen Quelltext mal bitte kur eintippen
Mahlzeit Chris Donner,
Danke schonmal für die Ansätze...aber ich bräuchte es detaillierter
Warum? Was genau hast Du nicht verstanden?
Irgendwie muss ich doch mit
window.onload=function () {/* mache Text sichtbar */
}die div Box erst anzeigen, wenn die Seite vollständig geladen wurde.
Nein. Das wäre nicht besonders nutzerfreundlich. Dadurch würdest Du allen Benutzern, die entweder selbst kein Javascript ausführen können/dürfen oder deren Browser das nicht tut, den Inhalt nicht anzeigen ... willst Du das?
kann mir jemand diesen Quelltext mal bitte kur eintippen
Öhm ... nein.
MfG,
EKKi
Om nah hoo pez nyeetz, Chris Donner!
var body = getElementsByElement[0]; body.className = "js_on"
Irgendwie muss ich doch mit window.onload=function () {
/* mache Text sichtbar */
wenn du das gegen alle Bedenken tatsächlich tun willst, musst du zuerst z.B. das Body-Element identifizieren. Das geschieht nicht wie irrtümlich hingemalt durch
getElementsByElement[0], (so was gibts nämlich gar nicht) sondern mithilfe von [ref:self812;javascript/objekte/document.htm#get_elements_by_tag_name@title=getElementsByTagName()]. Anschließend änderst du wie beschrieben die Klassenzugehörigkeit mit [ref:self812;javascript/objekte/all.htm#class_name@title=className]. Nun kannst du im CSS auf die unterschiedliche Darstellung eingehen.
Matthias
Hi,
musst du zuerst z.B. das Body-Element identifizieren. Das geschieht nicht wie irrtümlich hingemalt durch
getElementsByElement[0], (so was gibts nämlich gar nicht) sondern mithilfe von http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_tag_name@title=getElementsByTagName().
Was spricht denn gegen document.body?
cu,
Andreas
Om nah hoo pez nyeetz, MudGuard!
Was spricht denn gegen document.body?
nichts, es kann doch ein beliebiges Vorfahrenelement oder sogar das Element selbst sein.
Matthias
Om nah hoo pez nyeetz, MudGuard!
Was spricht denn gegen document.body?
nichts, es kann doch ein beliebiges Vorfahrenelement oder sogar das Element selbst sein.
Matthias
Kann mr jemand nun ein bisschen konkreter helfen? Javascript iss nicht so mein kerngebiet
Om nah hoo pez nyeetz, Chris Donner!
Kann mr jemand nun ein bisschen konkreter helfen?
helfen ja - machen nein.
Matthias
Hi,
Ich habe eine Website mit einem div Container samt CSS Hintergrundbild. in diesem div Container wird Text mit geladen. Nun zeigt er logischerweise den Text eher an als das Hintergrundbild - da das ja zum Laden länger benötigt (sofern nicht im Cache).
Das sieht aber in diesem Fall unprofessionell aus.
Das interessiert den Nutzer, der aus dem Textinhalt i.a.R. mehr Informationen ziehen wird, als aus der Verzierung der Seite durch das Hintergrundbild, vermutlich wenig.
Sorge dafür, dass der Text auch ohne (bereits) geladenes Hintergrundbild lesbar ist - gebe also eine Hintergrundfarbe an, die für ausreichend Kontrast sorgt.
Alles andere wäre Nonsense, da es deine Seite nur unbenutzbarer macht.
MfG ChrisB
Grüße,
Das sieht aber in diesem Fall unprofessionell aus.
nope. unprofessionell wären 10 sekunden starren auf den hintergrund der mich einen feuchten dreck juckt um den text zu sehen zu bekommen. verwechsele deine oma und normalbesucher nciht.
die shceren sich nciht um deine schönen blinkenden klikibunti lumpen, die kamen wegen inhalt. was DIR beim machen Spaß machte, kann die Besucher sogar nerven.
MFG
bleicher
Hallo,
du könntest durch Interlacing in Verbindung mit einer zum Bild passenden Hintergrundfarbe den Effekt, der nicht geladenen Graphik minimieren.
Dadurch wird erst die Hintergrundfarbe und dann nach und nach das Bild immer schärfer angezeigt, bis es vollständig geladen wurde.
Viele Grüße Novi
du könntest durch Interlacing in Verbindung mit einer zum Bild passenden Hintergrundfarbe den Effekt, der nicht geladenen Graphik minimieren.
Geh bitte - Interlacing hat einen anderen Zweck und ist für das, wofür es der OP benötigt schon vor 10 Jahren nicht mehr aktuell gewesen.
Selbst in diesem Artikel ist Adam7 genannt - das verhält sich zum Interlacing etwa so wie ein Fastkeil zu einer Aufschnittmaschine, wenn es darum geht, dünne Scheiben von der teueren Salami zu schneiden :)
Dadurch wird erst die Hintergrundfarbe und dann nach und nach das Bild immer schärfer angezeigt, bis es vollständig geladen wurde.
Mit der Bildschärfe hat Interlacing schon mal garnichts zu tun ;)
Eine alternative ist übrigens ein Exif-taugliches Format mit zu großem Thumbnail welches vom Browser zuerst gelesen wird, bevor die eigentliche Grafik geladen wird.
Unterm Strich sehe ich das aber wie ChrisB.
du könntest durch Interlacing in Verbindung mit einer zum Bild passenden Hintergrundfarbe den Effekt, der nicht geladenen Graphik minimieren.
Geh bitte - Interlacing hat einen anderen Zweck und ist für das, wofür es der OP benötigt schon vor 10 Jahren nicht mehr aktuell gewesen.
Nö, Novi hat völlig recht. Es wird ja sogar im Wikipedia Artikel beschrieben.
Selbst in diesem Artikel ist Adam7 genannt - das verhält sich zum Interlacing etwa so wie ein Fastkeil zu einer Aufschnittmaschine, wenn es darum geht, dünne Scheiben von der teueren Salami zu schneiden :)
Dadurch wird erst die Hintergrundfarbe und dann nach und nach das Bild immer schärfer angezeigt, bis es vollständig geladen wurde.
Mit der Bildschärfe hat Interlacing schon mal garnichts zu tun ;)
Äh, doch. Hast du deinen eigenen Link überhaupt gelesen?
Zitat: "hat ein Betrachter den Eindruck, dass das Bild während des Aufbaus immer schärfer und detailreicher wird."
Und jetzt kommt nicht mit "das ist aber nur ein Eindruck!!!!einelf", ansonsten outest du dich als ganz armer Wortklauber.
Hallo,
Selbst in diesem Artikel ist Adam7 genannt
Ist Adam7 etwa kein Interlacing-Verfahren?
Mit der Bildschärfe hat Interlacing schon mal garnichts zu tun ;)
Doch sehr viel. Beim Betrachten des Bildes entsteht der Eindruck, dass es immer schärfer wird, und man hat nicht den Eindruck, dass es sich von oben nach unten aufbaut.
Viele Grüße Novi