Afficher les nouveaux enregistrements et & Old Rec doivent être ouverts lorsque le pointeur est placé sur Afficher les lignes
<div> <li>Add Rows</li> <li>DeleteRows</li> <li>View Rows <ul> <li>View New Records</li> <li>View Old Records</li> </ul> </li> </div>
3 Réponses :
Utilisez : survolez
pour modifier l'affichage de .records
pour bloquer lorsque vous survolez les lignes d'affichage.
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div> <li>Add Rows</li> <li>DeleteRows</li> <li class="view">View Rows <ul class="records"> <li>View New Records</li> <li>View Old Records</li> </ul> </li> </div>
$(".records").hide(); $(".view").hover(function() { $(".records").show(); }); $(".view").mouseout(function() { $(".records").hide(); });
Et comme toujours, il existe plusieurs façons de le faire. Vous pouvez utiliser du javascript pur comme ci-dessous. Cela utilise .querySelectorAll ()
pour sélectionner les éléments, .addEventListener ( )
pour faire quelque chose sur mouseover
et mouseleave code>
. Évidemment, c'est beaucoup plus compliqué et plus difficile que la méthode précédente, mais cela laisse de la place pour beaucoup plus de personnalisation.
<div> <li>Add Rows</li> <li>DeleteRows</li> <li class="view">View Rows <ul class="records"> <li>View New Records</li> <li>View Old Records</li> </ul> </li> </div>
.records { display: none; }
var records = document.querySelectorAll(".records"); var view = document.querySelectorAll(".view")[0]; view.addEventListener("mouseover", function() { records.forEach(e => { e.style.display = "block"; }); }); view.addEventListener("mouseleave", function() { records.forEach(e => { e.style.display = "none"; }); });
Et bien sûr, il y a une méthode jQuery. Cela utilise .hover ()
pour détecter lorsque vous survolez le texte. , puis vous utilisez .show ()
pour afficher le li. Ensuite, vous utilisez .mouseout ()
pour détecter lorsque vous sortez de le texte et .hide ()
pour masquer le texte. p>
<div> <li>Add Rows</li> <li>DeleteRows</li> <li class="view">View Rows <ul class="records"> <li>View New Records</li> <li>View Old Records</li> </ul> </li> </div>
.records { display: none; } .view:hover .records { display: block; }
Vous pouvez utiliser dans un premier temps ul visibilité cachée et li: hover ul visibilité: visible à affichée au survol de la liste parente.
<div> <li>Add Rows</li> <li>DeleteRows</li> <li>View Rows <ul> <li>View New Records</li> <li>View Old Records</li> </ul> </li> </div>
li:hover ul { visibility: visible; } ul { visibility: hidden; }
voir l'exemple de js fiddle ici
<div> <ul> <li>Add Rows</li> <li>DeleteRows</li> <li>View Rows <ul> <li>View New Records</li> <li>View Old Records</li> </ul> </li> </ul> </div>
ul { background: #333; } ul li { position: relative; list-style: none; display: inline-block; color: white; } ul ul { position: absolute; left: 0; right: 0; top: 100%; display: none; padding-left: 0; } ul li:hover ul { display: block; } ul ul li { display: block; width: 100%; }