JS实现滑动导航效果


Posted in Javascript onJanuary 14, 2020

本文实例为大家分享了JS实现滑动导航效果的具体代码,供大家参考,具体内容如下

<!doctype html>
<html lang="en">
<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 class="box" 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>

最终效果如下:云彩跟随鼠标移动,点击固定

JS实现滑动导航效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
这段js代码得节约你多少时间
Dec 20 Javascript
jQuery实现的图文高亮滚动切换特效实例
Aug 10 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
Feb 01 Javascript
AngularJs 动态加载模块和依赖
Sep 15 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
Aug 27 Javascript
js CSS3实现卡牌旋转切换效果
Jul 04 Javascript
vue.js异步上传文件前后端实现代码
Aug 22 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
Dec 01 Javascript
vue中mint-ui的使用方法
Apr 04 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
Nov 16 Javascript
Vue看了就会的8个小技巧
Jan 21 Vue.js
vue3中的组件间通信
Mar 31 Vue.js
解决 window.onload 被覆盖的问题方法
Jan 14 #Javascript
vue quill editor 使用富文本添加上传音频功能
Jan 14 #Javascript
JavaScript事件冒泡机制原理实例解析
Jan 14 #Javascript
JS window对象简单操作完整示例
Jan 14 #Javascript
让mocha支持ES6模块的方法实现
Jan 14 #Javascript
JavaScript遍历数组的方法代码实例
Jan 14 #Javascript
JavaScript回调函数callback用法解析
Jan 14 #Javascript
You might like
PHP数组对比函数,存在交集则返回真,否则返回假
2011/02/03 PHP
php中截取中文字符串的代码小结
2011/07/17 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
为javascript添加String.Format方法
2020/08/11 Javascript
浅析webapp框架AngularUI的demo
2014/12/21 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
2016/04/27 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
jquery判断页面网址是否有效的两种方法
2016/12/11 Javascript
js中document.referrer实现移动端返回上一页
2017/02/22 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
Vue实例中生命周期created和mounted的区别详解
2017/08/25 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
详解Vue结合后台的列表增删改案例
2018/08/21 Javascript
Node.js JSON模块用法实例分析
2019/01/04 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
layui 弹出层值回传解决方式
2019/11/14 Javascript
vue导入.md文件的步骤(markdown转HTML)
2020/12/31 Vue.js
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
python执行CMD指令,并获取返回的方法
2018/12/19 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
django获取from表单multiple-select的value和id的方法
2019/07/19 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Python正则表达式高级使用方法汇总
2020/06/18 Python
印度民族服装购物网站:BIBA
2019/08/05 全球购物
商务日语专业毕业生自荐信
2014/03/27 职场文书
目标责任书范文
2014/04/14 职场文书
幼儿园小班评语大全
2014/04/17 职场文书
拖欠货款起诉状
2015/05/20 职场文书
图书借阅制度范本
2015/08/06 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
java代码实现空间切割
2022/01/18 Java/Android