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

Délai avec un onload et styles CSS display none

2 réponses
Avatar
Christophe, www.elitemediacompany.com
Salut,

J'ai un tout petit souci d'ordre esthétique mais que j'aimerais régler si
possible.
J'ai une fonction JS pour cacher et faire apparaitre des DIV :

function styleId(id) { return $(id).style }
var ids = new Array('step1','step2','step3');

function switchid(id) { hideallids(); showdiv(id); }
function hideallids() { for (var i=0;i<ids.length;i++) hidediv(ids[i]); }
function hidediv(id) { styleId(id).display = 'none'; }
function showdiv(id) { styleId(id).display = ''; }

Celle-ci s'appuie sur prototype.js. La fonction hideallids() est chargée
dans un onload et me cache tous les ID compris dans la variable ids

Je n'ai pas de problème, tout fonctionne sauf que tant que le onload n'a pas
tout chargé, les DIV concernés apparraissent un court instant avant de
disparaitre ce qui est esthétiquement moche.

Je peux contourner le problème par un style disaplay: none; en CSS mais la
je serai alors confronté à un probleme d'accessibilité car si JS est
désactivé mais DIV n'apparaissent plus aux utilisateurs et je souhaite
justement que si JS est désactivé que les DIV apparaissent tous.

Si vous m'avez suivi, auriez vous une solution pour contourner ce probleme ?

Christophe

2 réponses

Avatar
ASM
Si vous m'avez suivi, auriez vous une solution pour contourner ce
probleme ?


Non ...

quant à ces trucs tortueux ...

<script type="text/javascript">

var ids = new Array('step1','step2','step3');

function montreCache(id) {
id = $(id).style;
id.display = id.display==''? 'none' : '';
}
onload = function() {
for(var i in ids) montreCache(ids[i]);
}

</script>

<a href="#" onclick="montreCache('step2'); return false;">step 2</a>
<a href="#" onclick="montreCache('step3'); return false;">step 3</a>
<div id=step1>step 1</div>
<div id=step2>step 2</div>
<div id=step3>step 3</div>

Avatar
Christophe, www.elitemediacompany.com
Si vous m'avez suivi, auriez vous une solution pour contourner ce
probleme ?


Non ...


Dommage, on fait avec alors...

quant à ces trucs tortueux ...


Effectivement, cela simplifie nettement ma version, merci pour ces
indications ASM

Christophe