Bonjour à tous,
J'aimerais traiter le survol de la souris sur les li (sélectionné/désélectioné) dans la div avec la classe (.articles).
1. Quand on détecte un survol sur la liste ul :
1. si l'élément survolé est le premier dans ul => il reste sélectionné
2. si c'est un autre élément à part le premier =>
1. On enlève la sélection du premier li
2. On affecte la classe sélection au nouveau élément li sélectionné
2. Quand on détecte l'absence du survol sur la liste ul :
1. On enlève la sélection de l'élément li actif
2. On affecte la sélection au premier élément li
J'aimerais traiter le survol de la souris sur les li (sélectionné/désélectioné) dans la div avec la classe (.articles).
1. Quand on détecte un survol sur la liste ul :
1. si l'élément survolé est le premier dans ul => il reste sélectionné
2. si c'est un autre élément à part le premier =>
1. On enlève la sélection du premier li
2. On affecte la classe sélection au nouveau élément li sélectionné
2. Quand on détecte l'absence du survol sur la liste ul :
1. On enlève la sélection de l'élément li actif
2. On affecte la sélection au premier élément li
<!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" xml:lang="fr" lang="fr">
<head>
<title>CSS Hover</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" lang="fr" content="CSS-jQuery Hover" />
<style type="text/css" media="screen">
* {
font-family : Verdana, Arial;
}
.articles {
font-size : 13px;
position : relative;
border : 1px solid #e0e0e0;
width : 352px;
height : 126px;
margin : auto;
padding : 1px;
}
.articles ul{
width:190px;
height:128px;
padding:0;
list-style-type:none;
list-style-position:outside;
margin : 0 ;
visibility: visible;
}
.articles li {
margin: 0;
cursor : pointer;
}
.articles li a {
text-decoration : none;
color : #ebfff3;
font-size : 13px;
background-color : #7385a3;
border-right: #fff 1px solid;
border-bottom: #fff 1px solid;
display : block;
padding : 2px;
height : 37px;
line-height : 12px;
}
.articles li a:hover{
background-color: #99a6bd;
}
.articles .nimg {
position:absolute;
left:190px;
top:0; right:0;
background-color : #fff;
padding : 1px;
}
.articles .imag {
height: 126px;
width: 162px;
position:absolute;
left:192px;
top:0; right:0;
background-color : #fff;
padding : 1px;
}
.articles li img {
display : none;
}
.articles li:hover img ,
.articles li:first-child img {
display: block;
left: 190px;
position: absolute;
top:0; right:0;
}
.articles li.selected a{
background-color: #bec6d5;
border-right: #fff 1px solid;
border-bottom: #fff 1px solid;
}
</style>
</head>
<body>
<div id="titre">
<h2>Hover en CSS</h2>
</div>
<div class="articles">
<ul>
<li class="selected"><img class="imag" src="facebook.jpeg"><a href="#">Facebook déclare ouvertement la guerre à Google</a></li>
<li><img class="imag" src="numericable.jpeg"><a href="#">Numericable lance une offre mobile illimitée à 24,90 euros</a></li>
<li><img class="imag" src="google.jpeg"><a href="#">Les ordinateurs portables Chromebooks de Google arriveront le 15 juin</a></li>
</ul>
</div>
<br /><br />
<div class="articles">
<ul>
<li class="selected"><img class="imag" src="facebook.jpeg"><a href="#">Facebook déclare ouvertement la guerre à Google</a></li>
<li><img class="imag" src="numericable.jpeg"><a href="#">Numericable lance une offre mobile illimitée à 24,90 euros</a></li>
<li><img class="imag" src="google.jpeg"><a href="#">Les ordinateurs portables Chromebooks de Google arriveront le 15 juin</a></li>
</ul>
</div>
<script charset="utf-8" src="jquery-1.6.min.js"></script>
<script type="text/javascript">
$(function(){
///
$(".articles").children("ul").mouseenter(function(){
var objParentArticles = $(this).closest(".articles");
objParentArticles.find("ul:first-child li").removeClass("selected");
$(this).("li").mouseenter().addClass("selected");
}).mouseleave(function(){
var objParentArticles = $(this).closest(".articles");
objParentArticles.find("li").removeClass("selected");
$(this).("ul:first-child li").addClass("selected");
});
});
</script>
</body>
</html>