[JS/CSS] Opera snapt style.top niet..

Pagina: 1
Acties:

  • Blaise
  • Registratie: Juni 2001
  • Niet online
Volgens mij zit er een bug in Opera7.
Zie ook: Opera + positioning. (waarschijnlijk had de topicopener ook het probleem dat de verticale absolute positie veranderen dmv JS niet werkt, is niet geheel duidelijk.)

Ik zit denk ik met hetzelfde probleem:

JavaScript:
1
2
3
4
5
6
7
8
window.onload = function blaat()
{
lessdown = document.body.scrollHeight+53 + 'px';
rechtsvmidden = document.body.scrollWidth/2-130 + 'px';

document.getElementById('divbottom').style.top = lessdown;
document.getElementById('divbottom').style.left = rechtsvmidden;
}


Dit werkt in IE6 en Phoenix 0.5 zoals het bedoeld is. Het gekke is: In Opera werkt het ook, maar alleen de horizontale positionering :? . Verticaal niet. Als je de CSS defineert in html (IPV JS dus) werkt het wel gewoon, maar dat is niet bruikbaar pour moi.

Vraag:
Is dit idd een bug? en weet iemand een oplossing?

[ Voor 4% gewijzigd door Blaise op 04-04-2003 13:13 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

heb je misschien een complete testcode (html en css)?

Intentionally left blank


  • Blaise
  • Registratie: Juni 2001
  • Niet online
ow shit, nu heb ik de code verneukt, kijk ff over 2 minuten :P

---edit
fixed.

[ Voor 14% gewijzigd door Blaise op 04-04-2003 13:32 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

mmz, kan ik vanaf hier niet bereiken; zal die kl*te proxy wel weer zijn (veel sites doen het hier gewoon weg niet...) :(

Intentionally left blank


  • Blaise
  • Registratie: Juni 2001
  • Niet online
Ik zet het wel ff "echt" online.

http://zopp.nl/secret/

[ Voor 44% gewijzigd door Blaise op 04-04-2003 13:36 ]


  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

Ik heb die site even bekeken in:
- Phoenix 03/27/2003
- Opera 7, build: 2577
- IE 6.0
- Netscape 7.01

@ Windows 2000

Ik zie helemaal geen verschil in positionering. Misschien dat ik het over het hoofd zie, maar ik zie geen verschillen tussen de 4 browsers.
Alleen het veranderen van de kleuren werkte _niet_ in Phoenix en Opera.

EDIT
Nog steeds zie ik geen verschil in layout..
Het kleuren veranderen werkt nu wel in Phoenix. Echter werkt het bij Opera alleen als ik op refresh druk...

[ Voor 21% gewijzigd door OkkE op 04-04-2003 13:41 ]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • Blaise
  • Registratie: Juni 2001
  • Niet online
Ik zie helemaal geen verschil in positionering. Misschien dat ik het over het hoofd zie, maar ik zie geen verschillen tussen de 4 browsers.
"© 2003 CandyMe.nl || Powered by PHP & ..." moet helemaal onderaan staan.
Nu ik erover nadenk: Misschien ligt het wel aan document.body.scrollHeight.

Veranderen van kleuren werkt wel op mijn eigen compu, moet ik nog even naar kijken dan...

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 23:23

RM-rf

1 2 3 4 5 7 6 8 9

ik neem aan dat dit gaat over het regeltje:
© 2003 CandyMe.nl || Powered by PHP & MySQL || Parsed in 0,0083 seconds
die staat bovenaan in Opera7.02 bij mij.

volgens mij heeft het van doen met het direct aanroepen van document.body.scrollHeight:
die retourneert bij mij undefined
javascript:alert(document.body.scrollTop) lijkt me wel te functioneren

edit:
excuse me, je wil je complete hoogte van de pagina, dan heb je
code:
1
javascript:alert(document.body.clientHeight)
nodig

offtopic:
edit2:
over die schermkleur veranderen waarover Okke het heeft:
zodra je unrequested popups hebt uitstaan, wordt de link geopend in het huidige venster, en verschijnt een pagina, 'dit venster kun je afsluiten':
dan moet je terug en weer de oude pagina herladen.

[ Voor 39% gewijzigd door RM-rf op 04-04-2003 13:54 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

Blaise schreef op 04 April 2003 @ 13:44:
[...]

"© 2003 CandyMe.nl || Powered by PHP & ..." moet helemaal onderaan staan.
Nu ik erover nadenk: Misschien ligt het wel aan document.body.scrollHeight.

Veranderen van kleuren werkt wel op mijn eigen compu, moet ik nog even naar kijken dan...
Aaha, ja nu zie ik het. Dat is inderdaad helemaal weg in Opera 7.0.

offtopic:
Wat ik me overgens afvroeg, waarom gebruik je een popup voor het veranderen van de achtergrond kleur? :?

[ Voor 4% gewijzigd door OkkE op 04-04-2003 13:51 ]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • Blaise
  • Registratie: Juni 2001
  • Niet online
over die schermkleur veranderen waarover Okke het heeft:
zodra je unrequested popups hebt uitstaan, wordt de link geopend in het huidige venster, en verschijnt een pagina, 'dit venster kun je afsluiten':
dan moet je terug en weer de oude pagina herladen.
Het lag aan iets anders, en het werkt nu.
OkkE schreef op 04 April 2003 @ 13:50:
[...]
Aaha, ja nu zie ik het. Dat is inderdaad helemaal weg in Opera 7.0.

offtopic:
Wat ik me overgens afvroeg, waarom gebruik je een popup voor het veranderen van de achtergrond kleur? :?
Is er een andere manier in Opera om die waarde te krijgen?

Over popup:
Dat doe ik omdat ik een dynamische css.php + index.php moet updaten, en dan gaat dit vrij simpel en effectief.

[ Voor 37% gewijzigd door Blaise op 04-04-2003 14:17 . Reden: post opgehelderd ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Je hele content staat in een absoluut gepositioneerde div. Ook IE5.5 gaat hiermee de fout in, en Opera al helemaal. Op de een of andere manier nemen ze de hoogte van deze div (de 900 pixels) niet mee in de scrollHeight (die in Opera voor zover ik weet ook gewoon bestaat).

Intentionally left blank


  • Blaise
  • Registratie: Juni 2001
  • Niet online
Dat is vrij ***... :(
Ik zoek wel een andere oplossing.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 23:23

RM-rf

1 2 3 4 5 7 6 8 9

crisp schreef op 04 April 2003 @ 14:12:
Je hele content staat in een absoluut gepositioneerde div. Ook IE5.5 gaat hiermee de fout in, en Opera al helemaal. Op de een of andere manier nemen ze de hoogte van deze div (de 900 pixels) niet mee in de scrollHeight (die in Opera voor zover ik weet ook gewoon bestaat).
hmm, als ik
code:
1
javascript:alert(document.body.scrollHeight)
doe in O7 op die pagina krijg ik heel net een alertje met 'undefined'
bij
code:
1
javascript:alert(document.body.clientHeight)
retrourneert ie op die pagina '988'

mogelijk erkent O7 dit enkel niet in non-Quirky mode (dus als de pagina als valide XHTML valideert)
kijk ook eens hiernaar: http://www.xs4all.nl/~ppk/js/doctypes.html

edit:
ja dus, (op die pagina staat geen O7, maar verderop in de site staat wel een beschrijving van O7 en doctype switching http://www.xs4all.nl/~ppk/js/browsers5.html#op7):
scrollheight is een MSIE-only uitvinding (zie http://msdn.microsoft.com...operties/scrollheight.asp) en geen DOM-standaard property

de oplossing is mogelijk om de XML-declaratie toe te voegen:
<?xml version="1.0" encoding="iso-8859-1"?> forceert Quirk-mode zowel in MSIE alswel Opera7, maar niet in mozilla

[ Voor 30% gewijzigd door RM-rf op 04-04-2003 15:10 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

RM-rf schreef op 04 april 2003 @ 15:00:
[...]
mogelijk erkent O7 dit enkel niet in non-Quirky mode (dus als de pagina als valide XHTML valideert)
kijk ook eens hiernaar: http://www.xs4all.nl/~ppk/js/doctypes.html
Vreemd, hier Opera 7.01 en zowel met doctype als zonder krijg ik '12' voor scrollHeight. En de clientHeight is inderdaad de hoogte zonder eventuele overflow, dus niet bruikbaar in dit geval.

Intentionally left blank


  • Blaise
  • Registratie: Juni 2001
  • Niet online
Ik herinner me opeens: Ik heb Opera 7.0, en document.body.scrollHeight werkte wel, alleen kwam ik iets van 70 pixels te kort (vandaar dat ik em iets verlengd heb in de code), maar nu mijn pagina iets hoger is kom ik mer pixels tekort, dus Opera berekent dus duidelijk iets verkeerd > waarschijnlijk wat crisp zei:
Je hele content staat in een absoluut gepositioneerde div. Ook IE5.5 gaat hiermee de fout in, en Opera al helemaal. Op de een of andere manier nemen ze de hoogte van deze div (de 900 pixels) niet mee in de scrollHeight (die in Opera voor zover ik weet ook gewoon bestaat).
[edit: opera geeft de juiste hoogte als je de div die het langst is, absolute positioneert]

[ Voor 8% gewijzigd door Blaise op 10-04-2003 15:56 ]

Pagina: 1