Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Variablen übergeben an Tabelle?!
Frage
Hi!
Also ich habe eine Frage, na und zwar wollte ich meine Homepage anpassen an die Auflösung des Betrachters, dazu wollte ich dann erst mit einer Funktion die Auflösung auslesen lassen und dann bei den verschiedenen Auflösungen die Breite bzw. die Höhe einer Grafik verändern.
Dazu wollte ich dann in der Funktion eine If-Abfrage einbauen, und dann soll z.b. wenn die Auflösung 1024x768 ist die Grafik eine Breite und eine Höhe von 200x500px haben.
Na, nur mein Problem ist, dass ich net so ganz weiß wie man die Variablen (breite und höhe der grafik aus der funktion) dann an den <img ...> Tag übergeben kann.
Vielleicht so:
<img src="grafik.gif" width="funktionname(breite)" height="funktionname(hoehe)">
??
Ich weiß es halt net und frage deswegen, thx schonmal für eure Hilfe!
Mfg Jim
Antwort 1 von Dr.Ma-Busen
Hallo JimPanse5,
vielleicht Hilft dir ja dieses kleine Script weiter:
-------------
<html>
<script type="text/javascript">
<!--
function changeSize(){
document.MeinBild.width = 200;
document.MeinBild.height = 40;
}
//-->
</script>
<body>
<img name="MeinBild" src="grafik.jpg" width="40" height="100" border="0" alt="TestBild">
<input type="button" value="Größe ändern" onClick="changeSize()">
</body>
</html>
-----------
MfG
Dr.Ma-Busen
vielleicht Hilft dir ja dieses kleine Script weiter:
-------------
<html>
<script type="text/javascript">
<!--
function changeSize(){
document.MeinBild.width = 200;
document.MeinBild.height = 40;
}
//-->
</script>
<body>
<img name="MeinBild" src="grafik.jpg" width="40" height="100" border="0" alt="TestBild">
<input type="button" value="Größe ändern" onClick="changeSize()">
</body>
</html>
-----------
MfG
Dr.Ma-Busen
Antwort 2 von JimPanse5
K, danke für deine Hilfe, ist das so auch mit einer Tabelle möglich??
Antwort 3 von Friedel
Ja. So ähnlich. Du kannst fast alle CSS-Eigenschaften von vast allen Html-Elementen dynamisch verändern. Les dir dazu mal http://selfhtml.teamone.de/javascript/objekte/document.htm#get_elem..., http://selfhtml.teamone.de/dhtml/modelle/dom.htm#html_attribute und http://selfhtml.teamone.de/dhtml/modelle/dom.htm#css_eigenschaften durch.
Antwort 4 von JimPanse5
Super, danke, dass mit dem ändern habe ich jetzt hinbekommen.
Allerdings würde ich dass gerne automatisch ändern lassen, wenn die Bedingung einer IF-Abfrage zutrifft:
So habe ich es probiert, allerdings bekomme ich das net hin, kann mir jemand sagen wo der fehler liegt??
Mfg Jim
Allerdings würde ich dass gerne automatisch ändern lassen, wenn die Bedingung einer IF-Abfrage zutrifft:
<script type="text/javascript">
<!--
function daten() {
if (screen.width = 1280 && screen.height = 960) {
document.getElementById("tabelle").width = 200;
document.getElementById("tabelle").height = 200;
}
else {
document.getElementById("tabelle").width = 600;
document.getElementById("tabelle").height = 600;
}
}
//-->
</script>
</head>
<body>
<table id="tabelle" border="1">
<tr>
<td>Bla</td>
</tr>
</table><br>
</body>
So habe ich es probiert, allerdings bekomme ich das net hin, kann mir jemand sagen wo der fehler liegt??
Mfg Jim
Antwort 5 von Dr.Ma-Busen
Das Script funzt im grunde, nur du hast da ein bzw. zwei zeichen vergessen. Und zwar in der if- Abfrage.
Lies dir dazu mal bei selfHTML das Kapittel für über die Vergleichsoperatoren durch.
Wenn du das dann berichtigt hast, dann sollte es Funktinieren. Ach ja, und du müsstest dafür noch sorgen das,dass Script aufgerufen wird wenn er die Seite geladen hat. Das kannst du mit onLoad="Anweisung" machen. Kannst du auch bei selfHTML nachlesen.
So, und noch ein kleiner tipp von mir: Ich würde bei der if- Abfrage nicht abfragen ob die Auflösung gleich irgndeiner Aulösung ist, sonder ob die Auflösung größer gleich ist als irgendeiner Auflösung ist. Weil nicht jeder entweder 800X600 oder 1024X 780 hat. Weil es gibt ja auch noch größere bzw kleinere Auflösungen. Meine Auflösung ist im moment 960X720.
MfG
Dr.Ma-Busen
Lies dir dazu mal bei selfHTML das Kapittel für über die Vergleichsoperatoren durch.
Wenn du das dann berichtigt hast, dann sollte es Funktinieren. Ach ja, und du müsstest dafür noch sorgen das,dass Script aufgerufen wird wenn er die Seite geladen hat. Das kannst du mit onLoad="Anweisung" machen. Kannst du auch bei selfHTML nachlesen.
So, und noch ein kleiner tipp von mir: Ich würde bei der if- Abfrage nicht abfragen ob die Auflösung gleich irgndeiner Aulösung ist, sonder ob die Auflösung größer gleich ist als irgendeiner Auflösung ist. Weil nicht jeder entweder 800X600 oder 1024X 780 hat. Weil es gibt ja auch noch größere bzw kleinere Auflösungen. Meine Auflösung ist im moment 960X720.
MfG
Dr.Ma-Busen
Antwort 6 von JimPanse5
Thx, mir is sofort aufgefallen, als ich deinen Tip gelesen habe, dass ich nur "=" geschrieben habe. ;)
Mit "==" gings dann natürlich.
Thx nochmal für die Hilfe!
Mit "==" gings dann natürlich.
Thx nochmal für die Hilfe!
Antwort 7 von Friedel
Außerdem fehlt noch der Aufruf des Scripts. Das könntest du mit
Unter http://www.friedels-home.com/index.htm?/JavaScripte/Bild_anpassen2/... stelle ich ein Script von Stefan Münz (Selfhtml) vor, das ein Html-Element im Fenster an die Fenstergröße anpasst. Dieses Script könntest du wahrscheinlich für deine Zwecke abwandeln.
<body onLoad="daten()"> machen. Aber du hast glaube ich noch einen Grundsätzlichen Fehler drin. Du untersuchst nämlich die Bildschirmgröße und stellst danach die Größe einer Tabelle ein. Solltest du nicht statt der Bildschirmgröße die innere Fenstergröße verwenden? Wes nützt es. wenn der Monitpr des Users z.B. 1280*1024 Pixel groß ist, davon aber ein breiter Streifen unten für die Taskleiste und ein weiterer noch breiterer Streifen z.B. links für eine Office-shortcut-leiste, die immer im Vordergrund ist, drauf geht. Im restlichen Platz hat er dann ein Broserfenster mit z.B. 185*678 Pixel offen. Dein Script stellt nur die Größe des Monitors fest. Unter http://www.friedels-home.com/index.htm?/JavaScripte/Vollbild/anleit... stelle ich ein einfaches Script vor das ein Fenster immer auf die maximale verfügbare Fläche vergrößert. Es handelt sich nicht um den Kioskmode. Die Taskleiste u.a. Sachen, die normalerweise immer im Vordergrund sind, bleiben sichtbar.Unter http://www.friedels-home.com/index.htm?/JavaScripte/Bild_anpassen2/... stelle ich ein Script von Stefan Münz (Selfhtml) vor, das ein Html-Element im Fenster an die Fenstergröße anpasst. Dieses Script könntest du wahrscheinlich für deine Zwecke abwandeln.

