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 相关文章推荐
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
Jun 12 Javascript
javascript学习之闭包分析
Dec 02 Javascript
jquery 查找iframe父级页面元素的实现代码
Aug 28 Javascript
关于微信中a链接无法跳转问题
Aug 02 Javascript
vue分页组件table-pagebar使用实例解析
Nov 15 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
Sep 20 Javascript
vue.js 获取select中的value实例
Mar 01 Javascript
详解Vue.js自定义tipOnce指令用法实例
Dec 19 Javascript
js 根据对象数组中的属性进行排序实现代码
Sep 12 Javascript
js实现简单掷骰子小游戏
Oct 24 Javascript
微信小程序监听用户登录事件的实现方法
Nov 11 Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
Mar 04 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
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
2014/11/18 PHP
PHP常用技巧汇总
2016/03/04 PHP
PHP一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
不用写JS也能使用EXTJS视频演示
2008/12/29 Javascript
对js关键字命名的疑问介绍
2014/04/25 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
js纯数字逐一停止显示效果的实现代码
2016/03/16 Javascript
JavaScript继承学习笔记【新手必看】
2016/05/10 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
快速解决brew安装特定版本flow的问题
2018/05/17 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
2018/09/21 Javascript
Python深入学习之特殊方法与多范式
2014/08/31 Python
Python模拟登录12306的方法
2014/12/30 Python
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
python爬取指定微信公众号文章
2018/12/20 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
Pyorch之numpy与torch之间相互转换方式
2019/12/31 Python
python实现快递价格查询系统
2020/03/03 Python
HTML5 Convas APIs方法详解
2015/04/24 HTML / CSS
Hotels.com印度:酒店预订
2019/05/11 全球购物
关爱女孩行动实施方案
2014/03/13 职场文书
人事经理岗位职责
2014/04/28 职场文书
排查整治工作方案
2014/06/09 职场文书
房屋出租协议书范本(标准版)
2014/09/24 职场文书
骨干教师个人总结
2015/02/11 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL
用Python提取PDF表格的方法
2021/04/11 Python
Python OpenCV形态学运算示例详解
2022/04/07 Python
Python查找算法的实现 (线性、二分,分块、插值查找算法)
2022/04/24 Python
CentOS7 minimal 最小化安装网络设置过程
2022/12/24 Servers