摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script src="/static/jQuery/jquery-3.3.1.min.js"></scr
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script src="/static/jQuery/jquery-3.3.1.min.js"></script> <link rel="stylesheet" type="text/css" href="/static/csss/font-awesome-4.7.0/font-awesome-4.7.0/css/font-awesome.min.css"> <style> *{margin: 0; padding: 0;} /*内外边距清零*/ .nav_top{ width:1200px; /*最底层导航栏CSS样式*/ height: 50px; background:blue; border-radius: 10px; box-shadow: 0px 6px 30px #ccc inset; margin:0px auto; position: relative; } li{ /*清除所有li的圆点*/ list-style:none; } .nav_1>li{ float: left; /*设置第一级li的样式*/ height: 45px; width:150px; line-height: 50px; text-align: center; font-size: 18px; color: ghostwhite; } .nav_2 li{ width: 150px; /*设置第二级往后所有li的样式*/ height:50px; background:lightpink; color:black; position: relative; } .nav_3,.nav_4{ /*第三、第四级绝对定位位置*/ position:absolute;left: 150px; top:0px; } #foot{ /*跟随下划线CSS样式*/ width:150px; height: 5px; background:gold; position: absolute; top:47px; } </style> <title>四级导航下拉导航</title> </head> <body> <script> $(function(){ //就绪函数简写 $('#foot').hide() //隐藏跟随下划线 $('.nav_1>li').mousemove(function(){ //第一级li移上触发事件 $('#foot').show(function(){ //显示跟随导航条 $('.nav_1>li').hover( //点击第一级li触发切换 function(){ //第一事件函数 //parseInt取整数,attr('name')获得当前元素的name属性值 所以每个li增加了name值从0开始递增 $x=parseInt($(this).attr('name'))*150 //赋值给变量x //stop()先停止(不然每次从0位置开始移动,设置后就可以从当前位置右移) $('#foot').stop().animate({left:$x+'px'},300) //获得当前跟随下划线,自定义动画变量数值+PX }, function(){ //第二事件触发函数 $('#foot').stop().animate({left:'hide'},200) //移出时 自定义动画右移隐藏 } ) }) }) }) $(document).ready(function(){ ('.nav').css({'width':'100%','height':'50px','background':'rgb(209, 219, 223)',}) //导航背景色 //隐藏二级 三级 四级 $('.nav_2,.nav_3,.nav_4').hide() //点击1级显示2级 $('.nav_b').mousemove(function(){ $(this).find('.nav_2').show() }) //鼠标移开不显示2级 $('.nav_b').mouseleave(function(){ $(this).find('.nav_2').hide() }) //点击2级显示3级 $('.nav_c').mousemove(function(){ $(this).find('.nav_3').show() }) //鼠标移开不显示3级 $('.nav_c').mouseleave(function(){ $(this).find('.nav_3').hide() }) //点击3显示4级 $('.nav_d').mousemove(function(){ $(this).find('.nav_4').show() }) //鼠标移开不显示4级 $('.nav_d').mouseleave(function(){ $(this).find('.nav_4').hide() }) }) </script> <div class="nav"> <div class="nav_top"> <div id='foot'></div> <ul class="nav_1"> <li class="nav_b"name="0">首页 <i class="fa fa-caret-down"></i> <ul class="nav_2"> <li class="nav_c">会员中心 <ul class="nav_3"> <li class="nav_d">我的推荐 <ul class="nav_4"> <li>一级会员</li> <li>二级会员</li> <li>三级会员</li> </ul> </li> <li >我的收入</li> <li>我的余额</li> </ul> </li> <li>分销中心</li> <li>我的订单</li> </ul> </li> <li class="nav_b" name="1">美容护肤 <ul class="nav_2"> <li>面膜</li> <li class="nav_c">精华液 <ul class="nav_3"> <li>牡丹精华</li> <li class="nav_d">红石榴 <ul class="nav_4"> <li>抗氧化</li> <li>精华</li> <li>原液</li> </ul> </li> <li>玻尿酸</li> </ul> </li> <li>面霜</li> </ul> </li> <li name="2">彩妆香水</li> <li name="3">日用洗护</li> <li name="4">超值特价</li> <li name="5">海外精品</li> </ul> </div> </div> </body> </html>
批改老师:天蓬老师批改时间:2019-02-14 17:26:37
老师总结:这类特效, 大多是通过一些事件方法来实现, 在方法中可以对页面元素进行,进行一些动态的设置,达到动画的效果