Avatar billede mailand Nybegynder
19. december 2003 - 12:41 Der er 8 kommentarer og
2 løsninger

JS der skal skrive værdi ind i stylesheet

Jeg har den her side, hvor jeg har en div, der ser således ud:

<div id="testDiv" style="position:absolute;left:10;top:10;background-color:red;">blah blah</div>

Når jeg så kalder en bestemt JS funktion, vil jeg gerne tildele den en ny leftværdi - fx. 100.

Dette virker fint i IE og Opera, men ikke i mozilla.... Nogen bud?

Måden, jeg gør det på:
document.all["testDiv"].style.left=newX;

Det under mig MEGET, den ikke sådan liiiiige vil lystre... Bud er meget velkomne...

Andreas
Avatar billede keysersoze Ekspert
19. december 2003 - 12:43 #1
document.getElementById("testDiv").style.left = newX
Avatar billede mailand Nybegynder
19. december 2003 - 12:43 #2
Dette er min JS funktion:

function divPlacement(intX){
    var maxX = (window.innerWidth) ? window.innerWidth : document.body.clientWidth;
    var newX = ((maxX / 2) - intX)
    document.all["testDiv"].style.left=newX;
}

og så kalder jeg den her:
<body onload="divPlacement(0)" onresize="divPlacement(0)">
Avatar billede mailand Nybegynder
19. december 2003 - 12:45 #3
keyser: virker fint i IE + Opera... men igen ikke mozilla...
Avatar billede mathiash Nybegynder
19. december 2003 - 12:47 #4
Prøv med browser sniffing
Avatar billede mathiash Nybegynder
19. december 2003 - 12:48 #5
Gør som keysersoze skrev:

function divPlacement(intX){
    var maxX = (window.innerWidth) ? window.innerWidth : document.body.clientWidth;
    var newX = ((maxX / 2) - intX)
    document.getElementById("testDiv").style.left=newX;
}

og så kalder jeg den her:
<body onload="divPlacement(0)" onresize="divPlacement(0)">
Avatar billede roenving Novice
19. december 2003 - 12:56 #6
document.all er en M$-opfindelse, og dur kun i IE plus altså lige Opera !-)

Ifølge W3C skal man bruge .getElementById(), og så virker det NS6+, IE5+ og alle andre nyere browsere !o]
Avatar billede mailand Nybegynder
19. december 2003 - 13:10 #7
jeg prøver lige... jeg startede også med at bruge getElementById(), men da det ikke virkede, prøvede jeg den anden...
Avatar billede mailand Nybegynder
19. december 2003 - 13:15 #8
det virker.... tak, tak... og god jul!

smid et svar mathias og keyser
Avatar billede mathiash Nybegynder
19. december 2003 - 13:16 #9
Tak i lige måde!

//Mathias
Avatar billede keysersoze Ekspert
19. december 2003 - 13:19 #10
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester