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 相关文章推荐
javascript中字符串拼接需注意的问题
Jul 13 Javascript
node.js中的fs.fsyncSync方法使用说明
Dec 15 Javascript
jQuery Ajax调用WCF服务详细教程
Mar 31 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
Oct 23 Javascript
prototype.js常用函数详解
Jun 18 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
Aug 23 Javascript
JavaScript获取ul中li个数的方法
Feb 13 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
Oct 26 Javascript
JavaScript中关于base64的一些事
May 06 Javascript
Layui Form 自定义验证的实例代码
Sep 14 Javascript
ES5新增数组的实现方法
May 12 Javascript
vue组件实现移动端九宫格转盘抽奖
Oct 16 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
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
PHP循环函数使用介绍之PHP基础入门教程
2013/09/21 PHP
php中session定期自动清理的方法
2015/11/12 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
javascript AutoScroller 函数类
2009/05/29 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
JavaScript仿支付宝6位数字密码输入框
2016/12/29 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
JavaScript怎样在删除前添加确认弹出框?
2019/05/27 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
详解如何使用React Hooks请求数据并渲染
2020/10/18 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
2020/11/17 Vue.js
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
Python面向对象程序设计多继承和多态用法示例
2019/04/08 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
python基于socket函数实现端口扫描
2020/05/28 Python
加拿大最大的书店:Indigo
2017/01/01 全球购物
印度购买眼镜和太阳镜网站:Coolwinks
2018/09/26 全球购物
俄罗斯花园种植材料批发和零售网上商店:Беккер
2019/07/22 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
what is the difference between ext2 and ext3
2013/11/03 面试题
市场部经理岗位职责
2014/04/10 职场文书
局机关干部群众路线个人对照检查材料思想汇报
2014/10/05 职场文书
2015年学校安全管理工作总结
2015/05/11 职场文书
廉洁自律承诺书2016
2016/03/25 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
工作计划范文之财务管理
2019/08/09 职场文书
七年级作文之下雨天
2019/12/23 职场文书
Python中Matplotlib的点、线形状、颜色以及绘制散点图
2022/04/07 Python