js实现缓动动画


Posted in Javascript onNovember 25, 2020

本文实例为大家分享了js实现缓动动画的具体代码,供大家参考,具体内容如下

js实现缓动动画

利用定时器来控制元素的offsetLeft的值,offsetLeft = 开始位置 + (最终位置 - 开始位置)* 缓动系数

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>

 <style>
 * {
  margin: 0;
  padding: 0;
  border: none;
  list-style: none;
 }

 body {
  background-color: pink;
 }

 #nav {
  width: 900px;
  height: 63px;
  background: url("images/doubleOne.png") no-repeat right center #fff;
  margin: 0 auto;
  margin-top: 50px;
  border-radius: 5px;
  position: relative;
 }

 #nav ul {
  line-height: 70px;
 }

 #nav ul li {
  float: left;
  height: 63px;
  width: 88px;
  text-align: center;
  cursor: pointer;
  position: relative;
 }

 #t_mail {
  width: 88px;
  height: 63px;
  background: url("images/tMall.png") no-repeat;
  position: absolute;
 }
 </style>
</head>
<body>
 <nav id="nav">
 <span id="t_mail"></span>
  <ul>
  <li>双11狂欢</li>
  <li>服装会场</li>
  <li>数码家电</li>
  <li>母婴童装</li>
  <li>手机会场</li>
  <li>美妆会场</li>
  <li>家居建材</li>
  <li>进口会场</li>
  <li>飞猪旅行</li>
  </ul>
 </nav>

 <script>
 window.onload = function () {
  var nav = $('nav');
  var t_mall = nav.children[0];
  var ul = nav.children[1];
  var allLis = ul.children;
  var beginX = 0;

  for (var i = 0; i < allLis.length; i++) {
  var li = allLis[i];
  li.onmouseover = function () {
   end = this.offsetLeft;
  }

  li.onmousedown = function () {
   beginX = this.offsetLeft;
  }

  li.onmouseout = function () {
   end = beginX;
  }
  }

  var begin = 0, end = 0;
  setInterval(function () {
  begin = begin + (end - begin) / 10;
  t_mall.style.left = begin + 'px';
  }, 10)

  function $(id) {
  return typeof id ? document.getElementById(id) : null;
  }
 }
 </script>
</body>
</html>

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

Javascript 相关文章推荐
JSON辅助格式化处理方法
Mar 26 Javascript
用js代码改变单选框选中状态的简单实例
Dec 18 Javascript
jquery实现瀑布流效果分享
Mar 26 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
May 25 Javascript
微信小程序 toast 详解及实例代码
Nov 09 Javascript
Bootstrap基本布局实现方法详解
Nov 25 Javascript
jQuery简介_动力节点Java学院整理
Jul 04 jQuery
jQuery中ajax获取数据赋值给页面的实例
Dec 31 jQuery
详解如何使用webpack打包JS
Jun 21 Javascript
小程序红包雨的实现示例
Feb 19 Javascript
Vue filter 过滤当前时间 实现实时更新效果
Dec 20 Javascript
vue 获取url里参数的两种方法小结
Nov 12 Javascript
JavaScript实现缓动动画
Nov 25 #Javascript
Vue3配置axios跨域实现过程解析
Nov 25 #Vue.js
Vue使用Element实现增删改查+打包的步骤
Nov 25 #Vue.js
JavaScript实现网页动态生成表格
Nov 25 #Javascript
vue + el-form 实现的多层循环表单验证
Nov 25 #Vue.js
JavaScript实现HTML导航栏下拉菜单
Nov 25 #Javascript
vue打开其他项目页面并传入数据详解
Nov 25 #Vue.js
You might like
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
PHP var_dump遍历对象属性的函数与应用代码
2010/06/04 PHP
PHP实现采集抓取淘宝网单个商品信息
2015/01/08 PHP
js几个不错的函数 $$()
2006/10/09 Javascript
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
JQuery 在线引用及测试引用是否成功
2014/06/24 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
微信小程序实现文件、图片上传功能
2020/08/18 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
python中 chr unichr ord函数的实例详解
2017/08/06 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
python单例模式实例解析
2018/08/28 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
2019/06/19 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
python报错: 'list' object has no attribute 'shape'的解决
2020/07/15 Python
浅谈Python __init__.py的作用
2020/10/28 Python
Python调用飞书发送消息的示例
2020/11/10 Python
房地产出纳岗位职责
2013/12/01 职场文书
政法大学毕业生自荐信范文
2014/01/01 职场文书
奶茶店创业计划书范文
2014/01/17 职场文书
退伍老兵事迹材料
2014/01/31 职场文书
高中学生期末评语
2014/04/25 职场文书
环卫工作个人总结
2015/03/04 职场文书