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获取图片长和宽度的代码
Nov 24 Javascript
jquery ready函数源代码研究
Dec 06 Javascript
HTML上传控件取消选择
Mar 06 Javascript
关于js内存泄露的一个好例子
Dec 09 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
Feb 22 Javascript
AngularJS实现标签页的两种方式
Sep 05 Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
Feb 23 Javascript
vue+axios实现登录拦截的实例代码
May 22 Javascript
微信小程序中使用echarts的实现方法
Apr 24 Javascript
Node.js API详解之 V8模块用法实例分析
Jun 05 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
Jun 16 Javascript
JavaScript 如何计算文本的行数的实现
Sep 14 Javascript
解决 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优化需要注意的地方
2014/11/27 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
PHP代码优化技巧小结
2015/09/29 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
2015/10/10 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
打开新窗口关闭当前页面不弹出关闭提示js代码
2013/03/18 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
jQuery防止重复绑定事件的解决方法
2016/05/14 Javascript
javascript事件模型介绍
2016/05/31 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
浅析Vue下的components模板使用及应用
2019/11/27 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
Python学习笔记_数据排序方法
2014/05/22 Python
浅谈python多线程和队列管理shell程序
2015/08/04 Python
Python-嵌套列表list的全面解析
2016/06/08 Python
python爬虫之百度API调用方法
2017/06/11 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
自学python用什么系统好
2020/06/23 Python
总结python 三种常见的内存泄漏场景
2020/11/20 Python
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
过滤器的用法
2013/10/08 面试题
高三政治教学反思
2014/02/06 职场文书
党员教师工作决心书
2014/03/13 职场文书
岳麓书院导游词
2015/02/03 职场文书
Vue通过懒加载提升页面响应速度
2021/05/10 Vue.js