JS实现常用导航鼠标下经过下方横线自动跟随效果

作者:JL 时间:2024-04-17 10:11:55 

js写常用导航鼠标下经过下方横线自动跟随

JS实现常用导航鼠标下经过下方横线自动跟随效果

html代码如下:

<div class="header">
   <ul class="nav fr">
       <li class="nav-item nav-line">
           <a href="/" class="nav-link">首页</a>
       </li>
       <li class="nav-item nav-line">
           <a href="/" class="nav-link">公司介绍</a>
       </li>
       <li class="nav-item nav-line">
           <a href="/" class="nav-link">产品及解决方案</a>
       </li>
       <li class="nav-item nav-line">
           <a href="/" class="nav-link">客户案例</a>
       </li>
       <li class="nav-item nav-line">
           <a href="/" class="nav-link">联系我们</a>
       </li>
   </ul>
   <div class="wrap-line" style="opacity:0"></div>
</div>

css代码如下:

.header{position: absolute; height: 60px; top: 0; left: 0;  right: 0; color: #fff;background: rgba(0,0,0,.3); }
.header ul{ padding: 0; margin: 0;}
.header .nav-item{ padding: 0 20px; display: inline-block;}
.header .nav-item a{ text-decoration: none;}
.header .nav-item .nav-link, .header .nav-item:hover .nav-link {color: #fff;}
.header .nav-item .nav-link{ padding: 0; font-size: 15px; height: 60px; line-height: 60px;}
.wrap-line{ display: block; position: absolute; height: 3px; bottom: 5px;  background: #fff;}

js代码如下:

<script src="jquery.min.js"></script>
<script>
// 导航滑动效果
   $(function () {
       $('.nav .nav-line').hover(function() {
           $('.wrap-line').stop().animate({
               left: $(this).position().left + 25,
               width: $(this).outerWidth() - 50,
               opacity: 1
           });
       }, function() {
           $('.wrap-line').stop().animate({
               opacity: 0
           });
       });
   })
</script>

PS:css + js 实现导航栏下划线跟随鼠标滑动效果

一个vue导航栏下划线跟随鼠标滑动的效果,纯 js + css

JS实现常用导航鼠标下经过下方横线自动跟随效果

滑动效果

下划线会跟随这鼠标滑动,并且激活的item下划线会消失

最终代码

<div class="cc">
     <div class="aa_box" ref="aa" @mouseleave="handleMouseLeave">
       <div
         class="aa_item"
         v-for="(i, index) in navList"
         :key="i"
         @click="aaBtn(index)"
         @mouseenter="handleMouseEnter(index)"
         :class="{ active: index == activeIndex || moveActiveIndex == index }"
       >
         {{ i }}
       </div>
     </div>
     <div class="aa-line" :style="{ left: handleX + 'px' }"></div>
   </div>
data() {
   return {
     activeIndex: 0,
     moveActiveIndex: null,
     X: 0,
     current: 0,
     aa_x: 0,
     mouse_x: 0,
     isMove: false
   };
 },
 computed: {
   handleX() {
     return this.isMove ? this.mouse_x : this.aa_x;
   }
 },
 methods: {
   aaBtn(index) {
     this.activeIndex = index;
     this.aa_x = this.handleMouver(index);
   },
   handleMouseEnter(index) {
     this.isMove = true;
     this.moveActiveIndex = index;
     this.mouse_x = this.handleMouver(index);
   },
   handleMouseLeave() {
     this.isMove = false;
     this.mouse_x = 0;
     this.moveActiveIndex = null;
   },
   handleMouver(index) {
     const aa = this.$refs["aa"].children;
     let num = 0;
     for (let i = 0; i < aa.length; i++) {
       const item = aa[i];
       if (i + 1 <= index) {
         const itemWidth = item.clientWidth + 50;
         num += itemWidth;
       }
     }
     return num;
   }
 },

来源:https://www.cnblogs.com/moranjl/p/16699702.html

标签:js,导航,自动跟随
0
投稿

猜你喜欢

  • Python socket 套接字实现通信详解

    2023-05-16 04:18:08
  • Dreamweaver小技巧:超高速下载图像

    2009-07-14 21:59:00
  • PyQt QCombobox设置行高的方法

    2021-10-15 19:50:20
  • eBay 打造基于 Apache Druid 的大数据实时监控系统

    2022-12-25 21:54:37
  • Python中的几种矩阵乘法(小结)

    2021-11-29 23:51:33
  • Python3 SSH远程连接服务器的方法示例

    2021-02-15 17:50:05
  • Python编写万花尺图案实例

    2022-04-16 06:12:21
  • Python编程中字符串和列表的基本知识讲解

    2022-02-19 16:39:25
  • Linux 发邮件磁盘空间监控(python)

    2022-03-15 09:17:24
  • Python实例方法、类方法、静态方法的区别与作用详解

    2022-08-27 08:45:41
  • python读写csv文件方法详细总结

    2022-11-03 20:46:04
  • oracle 动态AdvStringGrid完美示例 (AdvStringGrid使用技巧/Cells)

    2009-06-19 17:21:00
  • GoLang切片并发安全解决方案详解

    2024-05-09 09:54:15
  • Python OpenCV对图像像素进行操作

    2021-02-25 13:02:20
  • python中关于property的最详细使用方法

    2023-07-23 15:35:26
  • Python的地形三维可视化Matplotlib和gdal使用实例

    2021-05-26 13:35:30
  • python实现简单tftp(基于udp协议)

    2021-01-30 15:01:23
  • 利用Python实现面部识别的方法详解

    2021-02-08 05:00:57
  • Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法

    2021-05-14 01:15:57
  • MySQL存储引擎简介及MyISAM和InnoDB的区别

    2024-01-26 23:53:17
  • asp之家 网络编程 m.aspxhome.com