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 相关文章推荐
JQuery 操作select标签实现代码
May 14 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
Jul 25 Javascript
js实现文字垂直滚动和鼠标悬停效果
Dec 31 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
Jun 06 Javascript
两种简单的跨域方法(jsonp、php)
Jan 02 Javascript
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
vue项目如何刷新当前页面的方法
May 18 Javascript
浅谈JS对象添加getter与setter的5种方法
Jun 09 Javascript
vue2.0 + ele的循环表单及验证字段方法
Sep 18 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
Sep 14 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
Dec 12 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
Mar 01 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源代码
2006/10/09 PHP
php启动时候提示PHP startup的解决方法
2013/05/07 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
javascript之更有效率的字符串替换
2008/08/02 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
2013/06/26 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
javascript实现input file上传图片预览效果
2015/12/31 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
2017/08/23 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
2017/09/10 jQuery
inquirer.js一个用户与命令行交互的工具详解
2019/05/18 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
浅谈Python NLP入门教程
2017/12/25 Python
Python实现的栈(Stack)
2018/01/26 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
基于python判断字符串括号是否闭合{}[]()
2020/09/21 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
西安启天科技有限公司网络工程师面试题笔试题
2016/06/12 面试题
市场营销专业个人自荐信格式
2013/09/21 职场文书
物业公司采购员岗位职责
2013/12/31 职场文书
环保倡议书范文
2014/05/12 职场文书
关于运动会的口号
2014/06/07 职场文书
2014年乡镇团委工作总结
2014/12/18 职场文书
自我检讨书怎么写
2015/05/07 职场文书
2015暑假假期总结
2015/07/13 职场文书
高中班长竞选稿
2015/11/20 职场文书
2016年党课培训学习心得体会
2016/01/07 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书