Sélectionner/Désélectionner un élément li

Sélectionner/Désélectionner un élément li - HTML/CSS - Programmation

Marsh Posté le 18-05-2011 à 09:48:57    

Bonjour à tous,

 

Avec ce code, j'aimerais avoir un effet de survol sur les li.

 

Au chargement de la page, le premier li de chaque liste est sélectionné automatiquement.

 

Quand il y a survol sur le premier li d'une liste ul, il y aura désélection du premier élément.

 

Quand la souris quitte la liste ul, le premier li reprend son état initial à savoir avoir la sélection.

 

J'ai pu réaliser une demi solution (désélection du premier li lors de la détection d'un survol de la souris), lorsque j'écris ce code :

 


Code :
  1. $(".articles" ).children("ul" ).mouseenter(function(){
  2.                
  3.                 var articleParent = $(this).parents(".articles" );
  4.                
  5.                 articleParent.find("ul li:first-child" ).removeClass("selected" );
  6.                
  7.                 articleParent.next().children("li" ).addclass("selected" );
  8.             });
 

Mais rien ne sa passe si j'ecris le reste du code :

 
Code :
  1. $(".articles" ).children("ul" ).mouseenter(function(){
  2.                
  3.                 var articleParent = $(this).parents(".articles" );
  4.                
  5.                 articleParent.find("ul li:first-child" ).removeClass("selected" );
  6.                
  7.                 articleParent.next().children("li" ).addclass("selected" );
  8.             }).mouseleave(function(){
  9.                    
  10.                     articleParent.find("ul li" ).removeClass("selected" );
  11.                     articleParent.find("ul li:first-child" ).addClass("selected" );
  12.                    
  13.                     alert("ok" );
  14.             )};
 

Et voila le code complet :

 
Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3. <head>
  4. <title>CSS Hover</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <meta name="description" lang="fr" content="CSS-jQuery Hover" />
  7. <style type="text/css" media="screen">
  8. * {
  9. font-family : Verdana, Arial;
  10. }
  11. .articles {
  12. font-size : 13px;
  13. position : relative;
  14. border : 1px solid #e0e0e0;
  15. width : 352px;
  16. height : 126px;
  17. margin : auto;
  18. padding : 1px;
  19. }
  20. .articles ul{
  21. width:190px;
  22. height:128px;
  23. padding:0;
  24. list-style-type:none;
  25. list-style-position:outside;
  26. margin : 0 ;
  27. visibility: visible;
  28. }
  29. .articles li {
  30. margin: 0;
  31. cursor : pointer;
  32. }
  33. .articles li a {
  34.   text-decoration : none;
  35.   color : #1d5b9c;
  36.   font-size : 13px; 
  37.   background-color : #b2c9de;
  38.   border-right: #fff 1px solid;
  39.   border-bottom: #fff 1px solid;
  40.   display : block;
  41.   padding : 2px;
  42.   height : 37px;
  43.   line-height : 12px;
  44. }
  45. .articles li a:hover{
  46. background-color: #6691bd;
  47. color:#fff;
  48. .articles .nimg {
  49. position:absolute;
  50. left:190px;
  51. top:0; right:0;
  52. background-color : #fff;
  53. padding : 1px;
  54. }
  55. .articles .imag {
  56.     height: 126px;
  57.     width: 162px;
  58. position:absolute;
  59. left:192px;
  60. top:0; right:0;
  61. background-color : #fff;
  62. padding : 1px;
  63. }
  64. .articles li img {
  65.   display : none;
  66.  
  67. }
  68. .articles li:hover img ,
  69. .articles li:first-child img { 
  70.     display: block;
  71.     left: 190px;
  72.     position: absolute;
  73.     top:0; right:0;
  74. }
  75. .articles li.selected a{
  76. background-color: #6691bd;
  77. color : #fff;
  78. border-right: #fff 1px solid;
  79. border-bottom: #fff 1px solid;
  80. }
  81. .articles li.selected2 a{
  82. background-color: #6691bd;
  83. color : #000;
  84. border-right: #fff 1px solid;
  85. border-bottom: #fff 1px solid;
  86. }
  87. </style>
  88. </head>
  89. <body>
  90. <div id="titre">
  91. <h2>Hover en CSS</h2>
  92. </div>
  93. <div class="articles">
  94.   <ul>
  95.     <li class="selected"><img class="imag" src="facebook.jpeg"><a href="#">Facebook déclare ouvertement la guerre à Google</a></li>
  96.     <li><img class="imag" src="numericable.jpeg"><a href="#">Numericable lance une offre mobile illimitée à 24,90 euros</a></li>
  97.     <li><img class="imag" src="google.jpeg"><a href="#">Les ordinateurs portables Chromebooks de Google arriveront le 15 juin</a></li>
  98.   </ul>
  99. </div>
  100. <br /><br />
  101. <div class="articles">
  102.   <ul>
  103.     <li class="selected"><img class="imag" src="facebook.jpeg"><a href="#">Facebook déclare ouvertement la guerre à Google</a></li>
  104.     <li><img class="imag" src="numericable.jpeg"><a href="#">Numericable lance une offre mobile illimitée à 24,90 euros</a></li>
  105.     <li><img class="imag" src="google.jpeg"><a href="#">Les ordinateurs portables Chromebooks de Google arriveront le 15 juin</a></li>
  106.   </ul>
  107. </div>
  108. <script charset="utf-8" src="jquery-1.6.min.js"></script>
  109. <script type="text/javascript">
  110.        
  111.  $(function(){
  112.   $(".articles" ).children("ul" ).mouseenter(function(){
  113.    var articleParent = $(this).parents(".articles" );
  114.    articleParent.find("ul li:first-child" ).removeClass("selected" );
  115.    articleParent.next().children("li" ).addclass("selected" );
  116.             }).mouseleave(function(){
  117.     articleParent.next(".selected" ).removeClass("selected" );
  118.     articleParent.("ul li:first-child" ).addClass("selected" );
  119.     )};
  120.  });
  121. </script>
  122. </body>
  123. </html>


Message édité par apz le 18-05-2011 à 10:07:47

---------------
Cordialement.
Reply

Marsh Posté le 18-05-2011 à 09:48:57   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed