怎么用HTML+JavaScript实现筋斗云导航栏效果
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了怎么用HTML+JavaScript实现筋斗云导航栏效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用HTML+JavaScript实现筋斗云导航
千家信息网最后更新 2026年11月01日怎么用HTML+JavaScript实现筋斗云导航栏效果
这篇文章主要介绍了怎么用HTML+JavaScript实现筋斗云导航栏效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用HTML+JavaScript实现筋斗云导航栏效果文章都会有所收获,下面我们一起来看看吧。
功能要求:
1、鼠标经过某个li,筋斗云跟着到当前的位置
2、鼠标离开这个li,筋斗云回到原来的位置
3、鼠标点击了某个li,筋斗云就留在点击这个位置
Document
window.addEventListener('load', function() { //获得每个li,以及img var as = document.querySelectorAll('li') var img = document.querySelector('img') //给每个li添加点击事件 as[1].addEventListener('mousemove', function() { animate(img, 75) }) as[2].addEventListener('mousemove', function() { animate(img, 145) }) as[3].addEventListener('mousemove', function() { animate(img, 215) }) as[4].addEventListener('mousemove', function() { animate(img, 300) //用mousemove事件比mouseover事件要好,防止震动 }) as[0].addEventListener('mousemove', function() { animate(img, 5) }) for (i = 0; i < as.length; i++) { //给每个a添加一个自定义属性,倒是用来作为索引号 as[i].setAttribute('index', i) } var posi = 0 console.log(as[0].getAttribute('index')) for (i = 0; i < as.length; i++) { as[as[i].getAttribute("index")].addEventListener('mouseout', fn) function fn() { animate(img, posi) } } //3,鼠标点击某个li,就固定在这个li上。离开经过某个li,就到某个li上,离开这个li,又回到刚刚的li上,相当于对初始位置的一个刷新 as[1].addEventListener('click', function() { animate(img, 75) posi = 75 //删除相应的离开事件 }) as[2].addEventListener('click', function() { animate(img, 145) posi = 145 }) as[3].addEventListener('click', function() { animate(img, 215) posi = 215 }) as[4].addEventListener('click', function() { animate(img, 300) //用mousemove事件比mouseover事件要好,防止震动 posi = 300 }) as[0].addEventListener('click', function() { animate(img, 5) posi = 5 })})自己只能做的出这种简单的效果,而且还是bug
1、利用动画函数
2、原先图片的起始位置是0
3、鼠标经过某个li,把当前小li的offsetLeft作为目标值
4、如果点击了某个li,就把当前li的位置存起来,作为图片的起始位置
思路和自己想的是一样的,但是要注意位置的取法,是直接通过元素的点击,去自动获得元素的位置,(但并没有仔细考虑图片应该在文字的中心)
其次,加入了ul的绝对定位,这样可以消除抖动
Document
window.addEventListener('load', function() { var c_nav = document.querySelector('.c-nav') var cloud = document.querySelector('.cloud') var lis = document.querySelectorAll('li') var current = 0 //起始位置;别用手算,肯定是获得某个元素的位置 for (var i = 0; i < lis.length; i++) { lis[i].addEventListener('mouseenter', function() { animate(cloud, this.offsetLeft) //鼠标经过时候发生抖动:因为图片过来后,就发生冲突了,此时鼠标就在图片上面 }) //鼠标离开回到起始的位置 lis[i].addEventListener('mouseleave', function() { animate(cloud, current) }) //鼠标点击事件 lis[i].addEventListener('click', function() { // alert(12) // animate(cloud, this.offsetLeft) //点击了鼠标之后,图片的起始位置就发生改变了 current = this.offsetLeft for (var i = 0; i < lis.length; i++) { lis[i].className = '' } this.className = 'current' }) }})关于"怎么用HTML+JavaScript实现筋斗云导航栏效果"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"怎么用HTML+JavaScript实现筋斗云导航栏效果"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
位置
鼠标
筋斗
事件
图片
效果
起始
导航
元素
文字
知识
内容
文章
篇文章
要好
首页
定位
震动
一致
热门
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云信互联网科技有限公司
互联网科技公司华为
互联网 科技
期待互联网科技
有马互联网科技
互联网科技排名
互联网科技论文
腾讯科技 互联网女皇
友谊互联网络科技
长亮科技互联网金融
互联网 科技服务平台
创业天下互联网科技有限公司
科技与互联网哪个更好
开一家科技互联网公司需要多少钱
工业互联网等科技实现智能化赋能
互联网科技大赛获奖感言
中和天地互联网科技有限公司
华中科技大学互联网的牛人
21世纪互联网科技成就
萌小萌互联网科技河南有限公司
互联网科技有限公司
互联网黑科技
广东猪兼强互联网科技有限公司
互联网科技工作委员会副主任毛军
互联网科技革命
奇酷互联网络科技
成都狮子座互联网科技
多迪互联网科技有限公司
武汉健翔互联网络科技有限公司
互联网第三次科技革命特征