jQuery實現下拉菜單滑動效果
當我們制作網頁時,有的時候會想擁有一個酷炫且順滑的下拉菜單,雖然我們使用最基礎的css和js也可以完成,但利用jQuery我們隻需要非常簡短的代碼即可完成下面的效果
是不是非常的順滑呢?鼠標移動到目標上自動的下拉菜單 ,隻需要這樣兩行代碼:
$(" ").hover(function() { $(this).children(" ").slideToggle(); });
其中,hover是鼠標經過和離開的復合寫法,通常會這樣寫
$(" ").hover(function() { $(this).children(" ").slideDown( ); }, function() { $(this).children(" ").slideUp( ); });
即在hover中寫兩個函數,一個是鼠標經過的一個是鼠標離開的,兩者用逗號隔開,但是可以看到我上面的代碼隻寫瞭一個函數,這是因為,如果我們隻在hover裡寫一個函數,那麼當鼠標經過或離開時都會重復這個效果,這樣的寫法更加簡便。
放在整體代碼中這樣使用:
<!DOCTYPE html> <head> <meta charset="UTF-8"> <style> * { margin: 0; padding: 0; } li { list-style-type: none; } a { text-decoration: none; font-size:20px; } .nav { margin: 100px; } .nav>li { position: relative; float: left; width: 80px; height:50px; text-align: center; } .nav li a { display: block; width: 100%; height: 100%; line-height: 50px; color: black; border:1px solid skyblue; } .nav>li>a:hover { background-color: pink; } .nav ul { display: none; position: absolute; top: 50px; left: 0; width: 100%; border-left: 1px solid #FECC5B; border-right: 1px solid #FECC5B; } .nav ul li { border-bottom: 1px solid #FECC5B; } .nav ul li a:hover { background-color: #FFF5DA; } </style> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> </head> <body> <ul class="nav"> <li> <a href="#" >消息</a> <ul> <li> <a href="">關註</a> </li> <li> <a href="">評論</a> </li> <li> <a href="">點贊</a> </li> </ul> </li> <li> <a href="#" >消息</a> <ul> <li> <a href="">關註</a> </li> <li> <a href="">評論</a> </li> <li> <a href="">點贊</a> </li> </ul> </li> <li> <a href="#" >消息</a> <ul> <li> <a href="">關註</a> </li> <li> <a href="">評論</a> </li> <li> <a href="">點贊</a> </li> </ul> </li> </ul> <script> $(function() { $(".nav>li").hover(function() { $(this).children("ul").slideToggle(); }); }) </script> </body> </html>
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。