1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>réinitialiser le style des éléments du menu</title>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
<style type="text/css">
* {margin:0;padding:0;color:#ddd;}
body {margin:10px;background:#000;color:#ddd;font-size:1em;font-family:Helvetica, Arial, sans-serif;}
ul {margin:20px;}
li {margin:5px;padding:5px;background:#333;list-style-type:none;}
.focus {background:#ddd;color:#222;}
</style>
</head>
<body>
<ul id="menu">
<li>blah</li>
<li>bleh</li>
<li>blih</li>
<li>bloh</li>
<li>bluh</li>
</ul>
<script type="text/javascript">
<!--
/*** ce qui suit n'est pas important, c'est juste ma façon d'attacher un évènement **/
var FC = {
Evenement: {
evenements: [],
ajouter: function(elm, evt, fn) {
var fni = function(e) { // prévient le comportement par défaut
if (fn(e)===false) { // false explicitement car peut être undefined en cas de délégation d'évènement
if (e.preventDefault) { e.preventDefault(); }
else { e.returnValue = false; }
}
};
if (document.addEventListener) { elm.addEventListener(evt, fni, false); }
else if (document.attachEvent) { elm.attachEvent("on" + evt, fni); }
FC.Evenement.evenements.push([elm, evt, fni]);
},
supprimer: function(elm, evt, fn) {
var evts = FC.Evenement.evenements;
for (var i=evts.length-1; i>=0; i--) {
if (evts[i][0]===elm && evts[i][1]===evt) {
if (document.removeEventListener) { elm.removeEventListener(evts[i][1], evts[i][2], false); }
else if (document.detachEvent) { elm.detachEvent("on" + evts[i][1], evts[i][2]); }
FC.Evenement.evenements.splice(i,1);
}
}
}
}
}
/*** ce qui précède n'est pas important, c'est juste ma façon d'attacher un évènement **/
FC.Evenement.ajouter(document.getElementById("menu"), "mouseover", function(e) {
var elm = e.target || event.srcElement;
if (elm.tagName.toLowerCase()==="li") {
elm.className = "focus";
}
});
FC.Evenement.ajouter(document.getElementById("menu"), "mouseout", function(e) {
var elms = document.getElementById("menu").getElementsByTagName("li");
for (var i=0,imax=elms.length;i<imax; i++) {
elms[i].className = "";
}
});
//-->
</script>
</body>
</html> |
Partager