FlyingFire Geschrieben 13. März 2008 Geschrieben 13. März 2008 Hallo Leute! Für die Schule muss ich als Projekt eine Private Homepage machen, in der ich auch gerne eine Gallerie einbinden möchte. Da ich nicht einfach eine fertige "kopieren" wollte, habe ich mir javascript selbst angeschaut und jetzt auch eine einfache kleine Gallerie gebaut. Jetzt zu meiner Frage, ich habe schon ziemlich viel gegoogelt und nachgeschaut und bin absolut am Verzweifeln: Wie kann ich die Größe des Bildes mit Javascript festlegen? Gefunden habe ich: Image(Höhe, Breite), aber trotzdem ich hier die Größenangaben festgelegt habe, klappt es bei einigen Bildern nicht Ich hoffe ihr könnt mir helfen! Danke schonmal! Viele Grüße FlyingFire Zitieren
geloescht_JesterDay Geschrieben 13. März 2008 Geschrieben 13. März 2008 Naja, mit Javascript kannst du nur die Anzeigegröße der Bilder im Browser ändern. Mit der eigentlichen Größe der Bilder hat das nichts zu tun. Das bekommst du mit Javascript auch nicht hin. Aber wenn dir das langt: // Bilder eindeutig über ID indiziert var myImg = document.getElementById("Image1"); myImg.height = 480; myImg.width = 640; // alle Bilder im Dokument var myImgs = document.getElementsByTagName("img"); for each (var myImg in myImgs) { myImg.width = 640; myImg.height = 480; } ungetestet, also ohne Gewähr. Nachtrag: Dazu müssen natürlich alle Bilder vorhanden sein im Dokument. Also einfach im Header das ausführen bringt dir nichts. Das muss nach dem Laden des Dokuments ausgeführt werden. Nur dann sind alle Elemente auch wirklich da. Zitieren
FlyingFire Geschrieben 13. März 2008 Autor Geschrieben 13. März 2008 Ahhh, super! Danke erstmal für die schnelle Antwort! Ich werde es sofort ausprobieren heute Abend, wenn ich zu Hause bin! Viele Grüße!! Zitieren
FlyingFire Geschrieben 13. März 2008 Autor Geschrieben 13. März 2008 Mhhh.... jetzt muss ich aber nochmal nachhaken, weil leider habe ich nicht so wirklich die Ahnung von js Habe mir bisher nur so einige Teile zusammengesucht... Mein Script sieht so aus: /* Array für die Bildernamen*/ var name=new Array("image_my/fire1_3.gif","image_my/fire1_4.gif","image_my/nico316_1.gif","image_my/nico316_2.gif","image_my/nico316_3.gif","image_my/pocatello1_1.gif"); /*Array für die Bilder*/ var pictures=new Array(); /*Laden der Bilder*/ function load() { var i for (i=0;i<6;i++) { pictures[i]=new Image(); pictures[i].src=name[i]; } } /*zeige Bilder*/ function show(nr) { document.images[0].src=pictures[nr].src; } Und rufe das ganze dann im Body so auf: <body style="direction: ltr;" onLoad="load();"> <!-- start header --> <div id="header"> <h1></h1> </div> <!-- end header --> <!-- start page --> <div id="page"><!-- start content --> <div id="content"> <div class="post"> <h1 class="title">Horses</h1> <img src="image_my/fire1_3.gif" width="500" heigth="400"> <a href="javascript:show(0)">Picture1-</a> <a href="javascript:show(1)">Picture2-</a> <a href="javascript:show(2)">Picture3-</a> <a href="javascript:show(3)">Picture4-</a> <a href="javascript:show(4)">Picture5-</a> <a href="javascript:show(5)">Picture6-</a> An welcher Stelle müsste dann die Festlegung des Bildes zur Anzeige im Browser stattfinden? in der "function show"? Grüße Zitieren
geloescht_JesterDay Geschrieben 14. März 2008 Geschrieben 14. März 2008 An welcher Stelle müsste dann die Festlegung des Bildes zur Anzeige im Browser stattfinden? in der "function show"? In dem Fall sollte die Festlegung der Anzeigegröße schon vorher stattfinden, nämlich bei dir oder auf dem Server. Selbst wenn ein bild nur mit 600x400 angezeigt wird, wird zuerst das ganze Bild vom Browser geladen. Das ist unnötige Zeit- und Bandbreitenverschwendung wenn du die Bilder eh kleiner zeigen willst. Fall du sie trotzdem auch noch in groß anzeigen lassen willst irgendwie, kannst du das immernoch über einen Link zur großen Version des bildes machen. Ansonsten, wenn die alle dieselbe Größe haben sollen, dann kannst du das vorher festlegen. Ansonsten musst du das vom geladenen bild abhängig machen und das ist erst da, wenn das Bild geladen ist. In der Funktion show ist das zu früh. Ich wüßte jetzt auch nichts anderes. Ich hab das früher mal so gemacht, dass ich Bilder in einem eigenen Fenster anzeigen lasse, die Seite im neuen Fenster ist immer dieselbe und nur das bild wird per Javascript geändert. In dieser Seite war dann ein onload-script drin, welches das Fenster auf die Größe des bildes angepasst hat. Aber vor onload geht das nicht. Und etwas ähnliches hast du hier ja nicht mehr. Das Zusammensuchen aus irgendwelchen Quellen ist immer blöd, wenn man selbst keine Ahnung hat. Nur selten hat man keine anderen Wünsche oder Vorstellungen als der Schreiber der Sachen. Das einzige was du tun kannst und auch tun solltest ist die bilder von vorneherein auf die richtige Größe zu bringen. Ich kenne noch zu gut die Leute, die mal schnell ein paar Bilder von ihrer neuen DigiCam zeigen wollten und dazu ein 3MP-Bild ins Internet stellten. Und du solltest deinen JAvascript aufruf etwas umschreiben: <a href="javascript: void(show(0));"> Denn ein Aufruf ohne das casten auf void liefert ja irgendwas zurück was dann als Linkziel angesehen wird und es kann zu einem Fehler kommen dann. Ich weiß nicht mehr genau in welcher Situation, aber das hatte ich schonmal. So geht es auf jeden Fall. Zitieren
FlyingFire Geschrieben 14. März 2008 Autor Geschrieben 14. März 2008 Hallo JesterDay! Danke für deine schnelle Antwort und vor allem so ausführliche Antwort ! Dann guck ich, dass ich die Bildergröße vorher festlege Liebe Grüße Fire Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.