Bonjour,
Je suis parti de ton exemple Heyoan, mais en jouant directement avec les règles de la feuille de style :
les règles 0 à 3 correspondants aux classes de mèmes indices. C'est plus simple et ça évite de passer par "onload". A améliorer par un pro du js
J'expérimente par la mème occasion la bidouille de la class "JS"
http://forum.alsacreations.com/topic-5-31123-1-Feuille-CSS-seulement-si-javascript-desactive.html#p233480 super simple et efficace, merci Gatsu35.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Test Afficher / Masquer DIVs</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
.JS .classe0{display:none}
.classe1{} /* seule class visible au départ sous JS */
.JS .classe2{display:none}
.JS .classe3{display:none}
#menu {display: none;}
.JS #menu {
background-color:#999999;
width:150px;
display: block;
position:relative;
top:5px
}
ul, li {
margin: 0;
padding: 0;
list-style-type: none;
}
ul#menu li a {
color: #000;
text-decoration: none;
display: block;
border: 0 none;
}
</style>
<script type="text/javascript">
<!--
function changeRegle(num) {
if (!document.styleSheets) return;
if (document.styleSheets[0].cssRules) {regles=document.styleSheets[0].cssRules}
else if (document.styleSheets[0].rules) {regles = document.styleSheets[0].rules}
else return
var e = regles[num ].style, i = 0;
while ((a = arguments[++i])) {for (var p in a) {e[p] = a[p];}}
}
document.documentElement.className+=" JS";
//-->
</script>
</head>
<body>
<ul id="menu">
<li><a href="#" onclick="changeRegle('0',{display:'none'});">cacher class0</a></li>
<li><a href="#" onclick="changeRegle('0',{display:''});">montrer class0</a></li>
<li><a href="#" onclick="changeRegle('2',{display:'none'});">cacher class2</a></li>
<li><a href="#" onclick="changeRegle('2',{display:''});">montrer class2</a></li>
<li><a href="#" onclick="changeRegle('3',{display:'none'});">cacher class3</a></li>
<li><a href="#" onclick="changeRegle('3',{display:'block'});">montrer class3</a></li>
<li><a href="#" onclick="changeRegle('1',{color:'green', fontSize:'20px'});">couleur et taille class1</a></li>
<li><a href="#" onclick="changeRegle('1',{display:'none'});">cacher class1</a></li>
<li><a href="#" onclick="changeRegle('1',{color:'', fontSize:'', display:''});">Rétablir class1</a></li>
</ul>
<div id="contenu">
<div class="classe0">
<p>div ayant une class:classe0</p>
</div>
<div class="classe0">
<p>div ayant une class:classe0</p>
</div>
<div class="classe1">
<p>div ayant une class:classe1</p>
</div>
<div class="classe1">
<p>div ayant une class:classe1</p>
</div>
<div class="classe2">
<p>div ayant une class:classe2</p>
</div>
<p class="classe3">Paragraphe ayant une class:classe3</p>
<div class="classe1">
<p>div ayant une class:classe1</p>
</div>
<div class="classe3">
<p>div ayant une class:classe3</p>
</div>
</div>
</body>
</html>
Modifié par chmel (08 Dec 2007 - 16:23)