| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Nov 2009
Beiträge: 57
| Javascript Fenster an Bild anpassen
Hallo, Ich habe einen Banner, der zwölf Bilder mittels einer for Schleife in eine Flashdatei lädt. Beim Klick auf eines soll mittels getURL der Bildname an Javascript übergeben werden. Das funktioniert alles soweit. Das mit Javascript erzeugte Fenster soll sich jetzt dem Bild anpassen. Beim ersten Mal funktioniert es irgendwie nie. Wenn ich jedoch ein zweites Mal auf das Bild klicke, ermittelt Javascript die Bildgrösse korrekt und passt das Fenster auch an. mein Javascript: PHP-Code: Tim |
| | |
| | #2 (permalink) |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 2.277
|
der Fehler rührt daher, dass zum Zeitpunkt wo hoehe = ladebild.height; ausgeführt wird, das Bild noch nicht geladen ist, und somit auch noch keine Breite hat. -deine pause-Funktion ist denkbar ungünstig, sie lastet JS/den Browser komplett aus. im schlimmsten Fall stürzt der Browser sogar ab. - ich meine nicht dass Image in allgemein verbreitet ist. - du solltest dich dringend mit dem Geltungsbereich von Variablen in JS auseinandersetzen. du hast ALLE variablen global erzeugt. hier mal eine überarbeitet Version des Codes: PHP-Code: ich hab hierzu noch zwei Variablen definiert. interval gibt den Interval in ms an, in dem die Grösse des Bildes überprüft werden soll. countdown gibt die Gesamtzeit in ms an, die wait maximal ausgeführt werden soll, bevor das ganze abgebrochen wird. alternativ könntest du das Bild per AJAX vorladen, da hast du dann ein quasi-COMPLETE-event. |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Sep 2009
Beiträge: 216
|
Hey, mal halt hier! Ihr macht das viel zu kompliziert mit euren warten. Wenn warten dann mit closures. Code: bildoeffnen = function(aurl){
ladebild = new Image;
ladebild.src = aurl;
window.setTimeout(function() {
hoehe = ladebild.height;
breite = 300;
alert(hoehe); //das erste Mal immer 0. Danach 225 (richtige Grösse)
Bild = window.open(aurl,'Bild'+aurl,'width='+breite+'px,height='+hoehe+'px,status=no,location=no,toolbar=no,scrollbars=no,resizable=no');
}, 100);
} Da sollte man das event onload benutzten. Code: bildoeffnen = function(aurl){
ladebild = new Image;
ladebild.onload = function() {
hoehe = ladebild.height;
breite = 300;
alert(hoehe); //das erste Mal immer 0. Danach 225 (richtige Grösse)
Bild = window.open(aurl,'Bild'+aurl,'width='+breite+'px,height='+hoehe+'px,status=no,location=no,toolbar=no,scrollbars=no,resizable=no');
}
ladebild.src = aurl;
} |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Sep 2009
Beiträge: 216
|
Hey, SELFHTML: JavaScript / Objektreferenz / window schau es dir genau an. Die Höhe und Breite gibt man nicht mit PX an. Kontrolliere bitte alles. Dann müsste es funktionieren. Mit freundlichen Grüßen Cas |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| fenster anpassen + meldung | aphratec | Flash Einsteiger | 2 | 23-03-2006 14:23 |
| Javascript: JS-Menü anpassen? | Elli | HTML und CSS | 1 | 27-08-2003 18:15 |
| Fenster anpassen | casiohec | Flash 4 und Flash 5 | 4 | 10-08-2002 23:20 |
| Fenster an Flash anpassen | qNETIC | Flash MX | 2 | 15-05-2002 20:53 |
| fenster mit bewegung anpassen? | A.Hoffmann | HTML und CSS | 4 | 27-04-2002 23:43 |