Avatar billede mailand Nybegynder
12. januar 2005 - 12:36 Der er 11 kommentarer og
1 løsning

style.left i firefox?

bør man ikke kunne lave noget a la oDiv.style.left = (iNewLeft); i firefox?

... det virker i ie, og jeg kan også alerte iNewLeft i firefox, men den assigner ikke en ny left værdi til min div. hvorfor ?

#Mailand
Avatar billede morteeart Nybegynder
12. januar 2005 - 12:38 #1
Du kan vel bare bruge margin istedet ?-)
Avatar billede mailand Nybegynder
12. januar 2005 - 12:42 #2
hmm... god pointe... men jeg ville gerne, jeg kunne bruge left, da det er lidt absolut positioneringseksperiment

#Mailand
Avatar billede mailand Nybegynder
12. januar 2005 - 12:44 #3
øhh. margin virker heller ikke i firefox... det er da for mærkeligt...

min js funktion ser sådan ud:

function centerDiv(sDiv) {
            oDiv = document.getElementById(sDiv);
            oBody = document.getElementById('body');
            iClientWidth = oBody.clientWidth;
            iDivWidth = oDiv.clientWidth;
            iNewLeft = Math.round((iClientWidth / 2) - (iDivWidth / 2));
            oDiv.style.left = (iNewLeft);
        }
Avatar billede fennec Nybegynder
12. januar 2005 - 12:48 #4
(et gæt!!)
Det er ikke fordi den skal have typen med også??

oDiv.style.left = (iNewLeft)+'px';
Avatar billede mailand Nybegynder
12. januar 2005 - 12:50 #5
du har fuldstændig ret... :o)

- den havde jeg lige overset. mange tak...!
Avatar billede fennec Nybegynder
12. januar 2005 - 13:11 #6
... Det var noget jeg rent tilfældig opdagede for et par dage siden, da jeg glemte at smide px på et margin i mit CSS (har det ellers altid), og IE fint ville vise det med FF ikke ville. Var ikke sikker på, at det også skulle være der, når man brugte JavaScript til at ændre i stylet, men det lader til at typen også skal med her.

Så har jeg også lært noget i dag :o)
Avatar billede mailand Nybegynder
12. januar 2005 - 14:06 #7
:o)

det har jeg også - mange tak for hjælpen. så kan jeg komme videre med absolut positionering...

#Mailand
Avatar billede olebole Juniormester
12. januar 2005 - 16:32 #8
<ole>

Det er CSS-standarden, der foreskriver det - og IE's tilgivenhed overfor afvigelser er (også) på dette punkt en fejl  ;o)

/mvh
</bole>
Avatar billede roenving Novice
18. januar 2005 - 01:11 #9
Det er faktisk angivet eksplicit i css-standarden at en css-fortolker _skal_ overse den slags properties, hvis der ikke er angivet en enhed/målestok, så det er også i den grad en fejl ...
Avatar billede mailand Nybegynder
18. januar 2005 - 09:19 #10
roenving: cool nok... - og hvis nu bare ie ikke var så tilgivende, så havde jeg vel sikkert opdaget fejlen før. *suk* :o)

#Mailand
Avatar billede olebole Juniormester
18. januar 2005 - 16:25 #11
mailand >> Når jeg laver større DHTML-objekter (og det har jeg en 'skidt' vane med at gøre), bruger jeg en HTML-skabelon, der indeholder forskellige wrapper-funktioner. Én af dem hedder 'p()' - og ser sådan ud:
  function p(s){return s+"px"};
- så skriver jeg f.eks. bare:
  oDiv.style.left = p(iNewLeft);

Et par andre (hvis det skulle have interesse) ser sådan ud:
  var d = document;
  function gE(id){return d.getElementById(id)};
  function gA(o,tag){return o.getElementsByTagName(tag)};
  function cE(tag){return d.createElement(tag)};
  function aC(o,elm){return o.appendChild(elm)};

På den måde sparer jeg mine små, gigtsvage fumlevorter. Hvem gider sidde og skrive:
  var aDivs = document.getElementById("cont").getElementsByTagName("div");
- 15 gange i et dokument, når man kan nøjes med at skrive:
  var aDivs = gA( gE("hest"), "div" );
- 15 gange  ;o)

Bevares, p() er ikke en af dem, der sparer mest - men jeg kan nu meget godt lide den alligevel  :)
/mvh
Avatar billede mailand Nybegynder
18. januar 2005 - 16:30 #12
snedigt...

ja, jeg er 'gammel' backend koder, så derfra kender jeg alt for godt det med at have en hel samling af små hjælpefunktioner til diverse opgaver...

men nu, hvor jeg har fået en del flere frontendopgaver, har jeg ikke helt fået opbygget samme værktøjskasse endnu... men dine forslag var da absolut værd at inkludere i min kasse...

mange tak...

#Mailand
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