[JS/CSS]menuutje absoluut positioneren

Pagina: 1
Acties:

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 07:43
Ik heb een probleempje met een site. De site is gecentreerd in een divje, en nu wil ik een popup-menuutje absoluut op het scherm plaatsen (relative is geen optie). Wat is de makkelijkste manier hiervoor? Ik doe het momenteel als volgt, maar dat werkt in Mozilla niet goed (staat ie ineens een heel stuk naar rechts)
code:
1
2
3
4
5
function centreer() {
    var fotos=document.getElementById('fotos');
    var breedte=document.body.clientWidth;
    fotos.style.left=(breedte - 752)/2+462;
    }

Deze functie roep ik aan in de body onresize en onload. In IE werkt dit dus prima, maar in Mozilla is het dan een stuk naar rechts verschoven, en hoe het in andere browsers is weet ik niet. (waarom is er geen echte standaard :'( ) Hoe kan ik het het makkelijkst doen? Een browsercheck maken met navigator.appVersion en dan voor elke browser apart bekijken of ie goed staat? Is er geen makkelijkere/betere manier?

Verwijderd

Je zou een check kunnen maken op document.all. If (!document.all) (lees als Mozilla)
Je zou ook de offsetWidth property kunnen gebruiken.

Voor meer info zie hier:
http://www.xs4all.nl/~ppk/js/
http://www.xs4all.nl/~ppk/js/doctypes.html

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:24

crisp

Devver

Pixelated

wat clientWidth in IE is is geloof ik window.innerWidth in echte browsers; probeer dit eens:

JavaScript:
1
var breedte = window.innerWidth || document.body.clientWidth;

Intentionally left blank


Verwijderd

Kijk eens op www.brainjar.com die heeft een mooie kopbalk die overal goed wordt uitgelijnd. Er staat een grondige uitleg over de gebruikte methodenvan plaatsen en positioneren.

[ Voor 18% gewijzigd door Verwijderd op 29-04-2003 09:53 ]


  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 07:43
Ik zit zelf al wel met een oplossing in mn hoofd, maar ik weet ff niet hoe ik hem moet uitvoeren. Kan ik met behulp van javascript van een relatief gepositioneerd element de waarde tot de linkerkant van het scherm bepalen? Als ik bijvoorbeeld offsetLeft gebruik, dan krijg ik de afstand van de linkerkant van het element tot de container, en dat moet ik niet hebben.