Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

offestTop et scrollTop tj nuls

6 réponses
Avatar
Claude Schneegans
Bonjour,

Est-ce un problème connu et contournable que dans MSIE, la valeur
offsetTop d'une option dans un select, et la valeur scrollTop du select
soient toujours nuls ?
Avec Mords-zy-la il n'a pas de problème.

Voir example à http://www.contentbox.com/claude/test/test.htm
le code =
<SELECT NAME="MonSelect" SIZE="4" onclick="test(this)">
<option>Option 1
<option>Option 2
<option>Option 3
<option>Option 4
<option>Option 5
<option>Option 6
<option>Option 7
<option>Option 8
<option>Option 9
</select>
<script>
function test (sel)
{
var opt = sel.options[sel.selectedIndex];
alert("selectedIndex = " + sel.selectedIndex
+ "\noffsetTop = " + opt.offsetTop
+ "\nscrollTop = " + sel.scrollTop
);
}

6 réponses

Avatar
MClaveau (MVP)
Bonsoir !

Ne faut pas utiliser plutôt le noeud parent ?

exemple : opt.parentNode.offsetTop







--
@-salutations

Michel Claveau
Avatar
Claude Schneegans
Ne faut pas utiliser plutôt le noeud parent ?



Non, ça ne change rien.
ça donne tj o dans IE et les bonnes valeurs dans Mozilla.
D'ailleurs le parent de l'option, c'est le select.


Avatar
MClaveau (MVP)
D'ailleurs le parent de l'option, c'est le select.


Oups ! J'avais mal lu.

Essaie ça :

+ "noffsetTop = " +
((opt.parentNode.clientHeight/opt.parentNode.size)*sel.selectedIndex-sel.scrollTop)

(Attn, c'est relatif au parent)





--
@-salutations

Michel Claveau

Avatar
Gilles LAURENT [MVP]
"MClaveau (MVP)" a écrit dans le message de
news:

Bonjour,

| + "noffsetTop = " +
|
((opt.parentNode.clientHeight/opt.parentNode.size)*sel.selectedIndex-sel.scrollTop)

ou alors :
+ "noffsetTop = " +
(sel.clientHeight/sel.size*sel.selectedIndex-sel.scrollTop)

Toutefois, cela fonctionne correctement avec IE7 mais pas avec les
versions précédentes de IE. En effet, la valeur de la propriété
scrollTop de l'objet Select est toujours 0 sous IE6 :-(

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
Claude Schneegans
Toutefois, cela fonctionne correctement avec IE7 mais pas avec les
versions précédentes de IE. En effet, la valeur de la propriété


scrollTop de l'objet Select est toujours 0 sous IE6

Ben oui, j'ai fini par trouver, encore un problème causé par
l'intégration de la boîte Select de Windows dans IE.
Franchement ils pourraient le préciser de façon plus claire dans la doc :-(

Et je ne vois pas comment contourner ça.

Merci.


Avatar
Claude Schneegans
Essaie ça :



Vi vi vi, ça marche. Merci !