Avatar billede cpfrande Nybegynder
07. maj 2008 - 10:38 Der er 11 kommentarer og
1 løsning

float: left virker ikke korrekt i firefox, når der anvendes JS

Halløjsa,

Jeg har siddet og bakset med noget kode i et stykke tid nu, og jeg kan bare ikke få det til at virke. Jeg har sikkert stirret mig blind på det, så jeg håber, at I kan hjælpe mig.

Jeg har en div, der har en bredde på 100 % samt en text-align sat til right. Inde i denne div har jeg placeret to ting:
- en span med tekst, hvor float er sat til left
- et link, der ikke gøres noget ved.

I IE kommer min span fint frem i venstre side, mens linket kommer frem i højre. Præcist som jeg ønsker. Men i Firefox kommer det hele frem i højre side.

Koden er lavet i Javascript. Jeg fandt et script, som jeg har tilrettet lidt. Ikke et vildt stort script. Jeg har forsøgt at gøre manøvren uden om JS, og der virker det fint - både i IE og i Firefox.

Jeg har lagt en test-side op, hvor I kan se det:
http://frande.dk/multifile/

Den første del viser hvordan jeg har løst det via alm. HTML og CSS kodning. Det virker fint både i IE og Firefox.

Næste del viser så at det ikke virker, når jeg bruger JS. I finder JS-filen på:
http://frande.dk/multifile/js/multifile.js

Jeg var i tvivl om dette var et JS eller et CSS spørgsmål, men min formodning er, at jeg laver noget forkert i min JS-kode, så det går galt i Firefox.

Jeg ser frem til at høre fra jer !
Avatar billede w13 Novice
07. maj 2008 - 10:48 #1
Der bliver slet ikke sat nogen float:left; på span'en i FireFox.

Prøv at køre denne kode i adresselinjen i både IE og FF, når filnavnet bliver vist i boksen: java script:alert(document.getElementsByTagName("table")[1].innerHTML);void(0)

Så vil du se indholdet af tabellen, og at span'en slet ikke får sat en style-property i FF.
Avatar billede w13 Novice
07. maj 2008 - 10:54 #2
Det er vel denne linje i js-filen:
        new_row_fileinfo.style.styleFloat = 'left';
Den er nok ikke særlig gyldig i andet end IE.
Brug i stedet:
        new_row_fileinfo.style.float = 'left';
Avatar billede w13 Novice
07. maj 2008 - 10:55 #3
:)
Avatar billede cpfrande Nybegynder
07. maj 2008 - 11:06 #4
Halløj,

Jeg kan godt se problemet, at firefox ikke får sat denne property.
Men... Så vidt jeg ved af, så findes style.float ikke. Man skal bruge style.styleFloat.

Netop af den årsag forstår jeg heller ikke, at Firefox ikke forstår koden.
Avatar billede w13 Novice
07. maj 2008 - 11:12 #5
style.float findes skam. Jeg bruger den masser af steder i mine egne koder.
Har dog aldrig hørt om style.styleFloat!

Men prøv det lige, og se om det ikke sku' klare problemet! ;)
Avatar billede w13 Novice
07. maj 2008 - 11:15 #6
style.float virker fint i samtlige moderne browsere.
Avatar billede cpfrande Nybegynder
07. maj 2008 - 13:15 #7
Halløj igen,

Det virker nu ikke her. Har lige ændret det til at køre kun med float. Nu virker det så bare heller ikke i IE længere.

http://frande.dk/multifile/
Avatar billede w13 Novice
07. maj 2008 - 13:31 #8
Hmm. Det ka' da godt være, du har ret. :S

Prøv dette, det burde virke:

new_row_fileinfo.style.cssText="float:right";
Avatar billede w13 Novice
07. maj 2008 - 13:31 #9
Jeg har testet det i IE og FF.
Avatar billede cpfrande Nybegynder
07. maj 2008 - 13:39 #10
Halløj,

Jeg sad lige og surfede nettet for en sidste gang (gad vide hvor mange timer jeg har brugt på at læse på diverse fora nu vedr. dette problem). Tilsyneladende er jeg ikke den eneste der har dette problem med Firefox.

Jeg fandt en med lignende problem på http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_22111791.html.

Han valgte at lave en anden løsning ved hjælp af CSS, hvor han definerede nogle klasser, som han så påsatte de enkelte spans. Jeg har lige gjort det, og nu virker det både i IE og i Firefox.

w13: Tak for din hjælp og din tid ! :-)
Avatar billede w13 Novice
07. maj 2008 - 13:47 #11
:) Lyder godt.

Og tak for point!
Avatar billede w13 Novice
07. maj 2008 - 13:48 #12
Det er faktisk mig, der siger tak!
Takket være dine point har jeg nu præcis 50.000! :D
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