JS实现常用导航鼠标下经过下方横线自动跟随效果
作者:JL 时间:2024-04-17 10:11:55
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
滑动效果
下划线会跟随这鼠标滑动,并且激活的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