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实现仿Windows关机效果
Mar 10 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
Jan 01 Javascript
javascript 学习笔记(八)javascript对象
Apr 12 Javascript
Js控制弹窗实现在任意分辨率下居中显示
Aug 01 Javascript
js代码验证手机号码和电话号码是否合法
Jul 30 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
Apr 18 Javascript
js 两数组去除重复数值的实例
Dec 06 Javascript
jQuery实现的下雪动画效果示例【附源码下载】
Feb 02 jQuery
改变vue请求过来的数据中的某一项值的方法(详解)
Mar 08 Javascript
vue template中slot-scope/scope的使用方法
Sep 06 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
Jan 27 jQuery
jQuery实现容器间的元素拖拽功能
Dec 01 jQuery
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个php获取日历的函数
2015/09/25 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
使用vs code编辑调试php配置的方法
2019/01/29 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
jQuery EasyUI API 中文文档 - NumberBox数字框
2011/10/13 Javascript
JS实现点击下载的小例子
2013/07/10 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
页面加载完毕后滚动条自动滚动一定位置
2014/02/20 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
AngularJS+Bootstrap实现多文件上传与管理
2016/11/08 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
2017/02/21 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
[01:15:15]VG VS EG Supermajor小组赛B组胜者组第一轮 BO3第二场 6.2
2018/06/03 DOTA
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
python3实现windows下同名进程监控
2018/06/21 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
Python通过socketserver处理多个链接
2020/03/18 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
网站域名和主机:Domain.com
2019/04/01 全球购物
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
会计与审计专业大专生求职信
2013/10/03 职场文书
母亲节感恩活动记录
2014/03/16 职场文书
学校端午节活动方案
2014/08/23 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书