Autor |
Nachricht |
VonStrago
Threadersteller
Dabei seit: 18.08.2006
Ort: Stuttgart / Bangkok
Alter: -
Geschlecht: -
|
Verfasst Mi 09.09.2009 10:15
Titel Noob frage :-( document.getElementById(' ').style.height |
|
|
Bin nicht wirklich gut mit javascript oder programmierung im allgemeinen, wenn einer der Pros mir weiterhelfen koennte, waere super dankbar!
es geht darum mit einen simplen script die hoehe eines divs zu ermitteln, und dann anhand dessen die hoehe eines anderen divs anzupassen:
Code: |
function changeme() {
var i = document.getElementById('topy').style.height;
if ( i == '100px' ) {
document.getElementById('topy').style.height ='200px';
document.getElementById('boty').style.height ='200px';
i++;
}
else {
document.getElementById('topy').style.height ='100px';
document.getElementById('boty').style.height ='300px';
i-- ;
}
}
|
im div befindet sich der handler als link: <a href="#" onmousedown="changeme();">changeme</a>
das seltsame an der ganzen sache ist: beim erstenmal klicken (<a>) tut sich garnix. ab den 2ten klick funktioniert die ganze sache.
"height" von topy und boty sind im stylesheet definiert, besagter stylesheet ist im head bereich uber dem script bereich mit der changeme funktion...
Danke im vorraus fuer jeden hinweis!
cheers
|
|
|
|
|
DerM
Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Mi 09.09.2009 11:22
Titel
|
|
|
if (i == "100px") = String
i++ = integer
also müsste es korrekt lauten
if (i == 100 ) {...
i++
}
Zuletzt bearbeitet von DerM am Mi 09.09.2009 11:22, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 09.09.2009 11:25
Titel
|
|
|
Generell kann das so nicht klappen, wenn style.x nicht explizit gesetzt wurde. Und auch dann erhältst du "nur" die CSS-Höhe (heigt des Boxmodells).
Versuchs mit clientHeight/Width bzw. offsetHeight/Width.
|
|
|
|
|
VonStrago
Threadersteller
Dabei seit: 18.08.2006
Ort: Stuttgart / Bangkok
Alter: -
Geschlecht: -
|
Verfasst Mi 09.09.2009 11:47
Titel
|
|
|
upsy
sry im script ist da noch ein ueberbleibsel, das:
" i++; " bzw das "i--" gehoert da bestimmt nicht hin!
mein test script sieht so aus:
im head das css
#topy { background:url(green.png) #600; height:132px;}
#boty { background:url(blue.png) #006; height:300px;}
im code bereich dann
Code: |
function changemail() {
var i = document.getElementById('topy').style.height;
alert(i);
if ( i == '232px' ) {
document.getElementById('topy').style.height ='132px';
document.getElementById('boty').style.height ='300px';
}
else {
document.getElementById('topy').style.height ='232px';
document.getElementById('boty').style.height ='200px';
}
}
|
@bacon
"...style.x nicht explizit gesetzt wurde..."
bedeutet dass dann, das wenn ich nicht irgendwo per javascript
Code: |
document.getElementById('topy').style.height = '232px'
|
gesetzt habe, mein script nicht die "height" von topy ermitteln kann?
zum testen ist ja das "alert(i);" hinter dem "var i = document.getElementById('topy').style.height;"
beim ersten durchgang kommt kein wert (also nicht mal ein NaN), ab dem zweiten durchgang klappts dann ... warum eigentlich
dank fuer die schnellen antworten
cheers
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mi 09.09.2009 12:19
Titel
|
|
|
bacon hat geschrieben: | Versuchs mit clientHeight/Width bzw. offsetHeight/Width. |
|
|
|
|
|
|
|
|
Ähnliche Themen |
noob frage :) - video einfügen
css-frage: div overflow height
cascading style sheets-frage
Mehrere IDs in getElementbyID
CSS mit JS auslesen: getElementById
[CSS] Height hin, Height her - Größe von DIV's
|
|