首 页 行业资讯 新车 试驾评测 养车用车 车型库

如何用js实现鼠标向上滚动时浮动导航

发布网友 发布时间:2022-04-21 14:57

我来回答

2个回答

懂视网 时间:2022-04-07 11:00

首先,我们来看一下效果:

云彩跟随鼠标移动,点击固定。

8ae04a9bddf2634ec8e99d2e829cb.png

(推荐教程:js教程)

具体代码如下:

<!doctype html>
<html>
<head>
 <meta charset="UTF-8">
 <meta name="viewport"
 content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <style>
 * {
 padding: 0;
 margin: 0;
 }
 ul {
 list-style-type: none;
 height: 42px;
 position: absolute;
 }
 img {
 vertical-align: middle;
 }
 li,
 a {
 cursor: pointer;
 }
 a {
 text-decoration: none;
 color: #000000;
 display: block;
 }
 li {
 width: 83px;
 height: 42px;
 /*background-color: pink;*/
 float: left;
 text-align: center;
 line-height: 42px;
 }
 .box {
 position: relative;
 width: 530px;
 height: 42px;
 border: 1px solid deepskyblue;
 margin: 100px auto;
 -webkit-border-radius: 10px;
 -moz-border-radius: 10px;
 border-radius: 10px;
 }
 .box img#cloud {
 width: 83px;
 height: 42px;
 position: absolute;
 left: 0;
 top: 0;
 }
 .box img#xinhao {
 position: absolute;
 right: 0;
 top: 50%;
 transform: translateY(-50%);
 }
 </style>
</head>
<body>
<div id="box">
 <img id="cloud" src="images/cloud.gif" alt="" />
 <ul id="ull">
 <li><a href="#">长沙校区</a></li>
 <li><a href="#">长沙校区</a></li>
 <li><a href="#">长沙校区</a></li>
 <li><a href="#">长沙校区</a></li>
 <li><a href="#">长沙校区</a></li>
 <li><a href="#">长沙校区</a></li>
 </ul>
 <img id="xinhao" src="images/rss.png" alt="" />
</div>
<script src="js/common.js"></script>
<script src="js/changespead.js"></script>
<script>
 //获取每一个li
 var list=my$('ull').children;
 console.log(list);
 //获取到筋斗云图片
 var im=my$('cloud');
 //获取图片的宽度
 var imgWidth=im.offsetWidth;
 console.log(imgWidth);
 for(var i=0;i<list.length;i++){
 //设置index值用来储存移动的距离
 list[i].setAttribute('index',i);
 //遍历所有li,每个li绑定三个时间指向同一个函数f1
 list[i].onmouseover=f1;
 list[i].onmouseout=f1;
 list[i].onclick=f1;
 //实现函数f1
 function f1(e){
 switch(e.type) {
 case 'mouseover':
 //获取当前li的index值
 index=this.getAttribute('index');
 //调用变速移动函数
 movecs(im,imgWidth*index);
 break;
 case 'click':
 index=this.getAttribute('index');
 //点击之后固定
 im.style.left=imgWidth*index+'px';
 //点击了其中一个li之后的操作,移开鼠标之后不会弹回去
 this.onmouseout=false;
 for(var k=0;k<list.length;k++){
 list[k].setAttribute('jndex',k);

 list[k].onmouseover=function(){
 jndex=this.getAttribute('jndex');
 movecs(im,imgWidth*jndex);
 };
 list[k].onmouseout=function(){
 movecs(im,imgWidth*index);
 };
 }
 break;
 case 'mouseout':

 index=0;
 movecs(im,imgWidth*index);
 break;
 }
 }
 }



 /*list[i].onmouseover=function(){
 index=this.getAttribute('index');
 console.log(index);
 movecs(im,imgWidth*index);
 };
 list[i].onmouseout=function(){
 index=0;
 // im.style.left='0px';
 movecs(im,imgWidth*index);
 };

 list[i].onclick=function(){
 index=this.getAttribute('index');
 im.style.left=imgWidth*index+'px';
 alert(index);
 };*/
</script>
</body>
</html>

相关视频教程推荐:javascript视频教程

热心网友 时间:2022-04-07 08:08

<script> var scrollFunc = function (e) { var direct = 0; e = e || window.event; if (e.wheelDelta) { //判断浏览器IE,谷歌滑轮事件 if (e.wheelDelta > 0) { //当滑轮向上滚动时 alert("滑轮向上滚动"); } if (e.wheelDelta < 0) { //当滑轮向下滚动时 alert("滑轮向下滚动"); } } else if (e.detail) { //Firefox滑轮事件 if (e.detail> 0) { //当滑轮向上滚动时 alert("滑轮向上滚动"); } if (e.detail< 0) { //当滑轮向下滚动时 alert("滑轮向下滚动"); } } ScrollText(direct); } //给页面绑定滑轮滚动事件 if (document.addEventListener) { document.addEventListener('DOMMouseScroll', scrollFunc, false); } //滚动滑轮触发scrollFunc方法 window.onmousewheel = document.onmousewheel = scrollFunc; </script>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com