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

Safari et le style.display='none'

4 réponses
Avatar
Etienne SOBOLE
salut.

sous safari lorsque je met plusieurs div les un au dessus des autres
<div id='d1'>ligne 1</div>
<div id='d2'>ligne 2</div>
<div id='d3'>ligne 3</div>
<div id='d4'>ligne 4</div>
<div id='d5'>ligne 5</div>

et que via du javascript je décide de masquer le premier par exemple
objd1.style.display = 'none';

et bien cela fonctionne, mais le rafraichissement ce fait mal, c'est a dire
qu'a l'affichage je vais avoir
ligne 2
ligne 3
ligne 4
ligne 5
ligne 5 <--- voila le probleme

C'est à dire deux fois la ligne 5 (le deuxieme ètant un fantome, c'est a
dire que ce n'est pas un objet du DOM c'est juste un morceaux de page qui a
été mal effacé.

Est ce que quelqu'un a deja eu ce probleme, et trouvé une solution?

Merci
Etienne

4 réponses

Avatar
Thibaut Allender
On 16/11/2004 13:47, Etienne SOBOLE wrote :
C'est à dire deux fois la ligne 5 (le deuxieme ètant un fantome, c'est a
dire que ce n'est pas un objet du DOM c'est juste un morceaux de page qui a
été mal effacé.

Est ce que quelqu'un a deja eu ce probleme, et trouvé une solution?



tous les cacher, puis tous les reafficher sauf celui qu'on veut
reellement cacher ?
ca devrait permettre de contourner le bug

--
thibaut allender | freelance | http://capsule.org
Avatar
Etienne SOBOLE
tous les cacher, puis tous les reafficher sauf celui qu'on veut reellement
cacher ?
ca devrait permettre de contourner le bug



non j'ai essayé. ca marche pas.

Alors, le bug n'arrive que s'il y a présence d'une barre de défilement.
(overflow=auto ou overflow=scroll)

Finalement, ce qui marche, mais qui ramouze un peu, c'est:
- virer tous les objet du DOM
- ne réinsérer que ceux qui sont nécéssaire.

Autant dire que plus lent y a pas, mais ca marche bien.
Etienne
Avatar
Thibaut Allender
On 16/11/2004 14:31, Etienne SOBOLE wrote :

Finalement, ce qui marche, mais qui ramouze un peu, c'est:
- virer tous les objet du DOM
- ne réinsérer que ceux qui sont nécéssaire.



et en les passant tous en visibility: hidden, puis un seul en
display:none, puis tous en visibility: visible ?

--
thibaut allender | freelance | http://capsule.org
Avatar
Etienne SOBOLE
"Thibaut Allender"
a écrit dans
le message de news:
et en les passant tous en visibility: hidden, puis un seul en
display:none, puis tous en visibility: visible ?



vais essayer ca, mais je ne crois pas que ca va resoudre le problem...
(de toute façon j'ai résolu le probleme en virant la scroll bar)

mais bon vais tester quand meme.
Etienne