JavaScript运动原理基础知识详解

在这篇文章里,我将把JS的运动由简如深的进行分析:

运动基础

主要步骤为:

清除定时器,保证运动过程中只有一个定时器

开启定时器

开始运动,同时加入判断以便在需要时停止运动。将移动函数进行了简单的封装。

<script type='text/x-handlebars-template' id='list-item'>
  {{#if items}}
  <ul id='mylist'>
    {{#each items}}
      <li><a href='{{url}}'>{{text}}</a></li>
    {{/each}}
  </ul>
  {{/if}}
</script>
funtion addItem(url,text){
  var mylist = document.getElementById('mylist'),
      script = document.getElementById('list-item'),
      template = Handlebars.compile(script.text), //提取模板文本,返回格式化方法
      div = document.createElement('div'),
      result;

  result = template({text:text,url:url});
  div.innerHTML = result;
  mylist.appendChild(div.firstChild);
}
//调用
addItem('/item/4,'First item');

当使用这种方法时出现的问题有:

需要相对应的计算每次移动的距离,否则当移动的距离不能准确到达指定位置时会出现问题

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

时间: 2020-03-31

JS实现匀速与减速缓慢运动的动画效果封装示例

本文实例讲述了JS实现匀速与减速缓慢运动的动画效果.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>www.jb51.net JS匀速/减速运动</title> <style> *{ margin: 0; padding: 0; } .box1 { width

JavaScript实现小球沿正弦曲线运动

本文实例为大家分享了js实现小球沿正弦曲线运动的具体代码,供大家参考,具体内容如下 效果图: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .dot{ margin-top: 300px; position: absolute; width

JavaScript实现跟随滚动缓冲运动广告框

当我们浏览一些网页时我们会发现页面的的边上会有广告图片,当滚动滚动条的时候这些广告图片会跟随性的随页面一起运动(这里我叫它为广告框).一些网页的广告框是固定在浏览器上的用background:fixed:便可实现.这里我用JavaScript简单的制作了一个随滚动缓冲运动的广告框. 制作的原理比较简单,大家都有一个完美的js运动框架,这里的缓冲运动需要用到.这里的广告框设定的是跟随滚动条缓冲运动并运动到浏览器的中间位置.需要理解的是运动距离的计算和一些细节上的处理(一些BUG的预防) 这是我在这

JS实现多物体运动的方法详解

本文实例分析了JS实现多物体运动的方法.分享给大家供大家参考,具体如下: 基本步骤 1.通过getElementsByTagName获取到要做多物体运动的元素 2.然后for循环遍历元素,添加事件 3.定义startMove函数,需要两个参数,当前"做运动"的元素,和目标值target 注意问题:在多物体运动中,所有的东西不能公用: <script> window.onload = function(){ var liTags = document.getElementsB

JS实现的抛物线运动效果示例

本文实例讲述了JS实现的抛物线运动效果.分享给大家供大家参考,具体如下: 先来看看运行效果: 具体代码如下: <!doctype html > <html> <head> <meta charset="utf-8"/> <title>抛物线运动</title> <style> .pwx_rect{position:absolute;left:10px;top:300px;background-color

JS小球抛物线轨迹运动的两种实现方法详解

本文实例讲述了JS小球抛物线轨迹运动的两种实现方法.分享给大家供大家参考,具体如下: js实现小球抛物轨迹运动的大致思路: 1.用setInterval()方法,进行间隔性刷新,更新小球位置,以实现动态效果 2.绘制小球和运动区域,运动区域可通过flex布局实现垂直居中 3.用物理公式S(y)=1/2*g*t*t,S(x)=V(x)t来计算路径 现确定V(x)=4m/s,刷新的时间间隔设置为0.1s.原本px和米之间的转换,不同尺寸转换不同,本例采用17寸显示器,大约1px=0.4mm.但浏览器

javascript的惯性运动实现代码实例

移动端的惯性运动,最早来自 ios 的专利.用于手指滑动,离开屏幕之后,屏幕内容继续滚动.更有动态感. 这里,以 pc 端,鼠标横向(沿x轴) 拖拽的,惯性计算.移动端同理 效果 代码如下 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="widt

JavaScript删除指定子元素代码实例

原生javascript删除指定子元素代码实例: 本章节介绍一下如何利用原生javascript实现删除指定子元素. 大家都知道使用jquery实现此功能更为方便,不过使用原生的javascript也不麻烦,下面做一下介绍. 关于jquery如何实现此功能可以参阅jquery删除指定子元素代码实例一章节. 代码实例: 复制代码 代码如下: <!DOCTYPE HTML> <html> <meta charset="utf-8"> <title&

JavaScript多种滤镜算法实现代码实例

这篇文章主要介绍了JavaScript多种滤镜算法实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.灰色滤镜 设定R,G,B值相等 function makeGray(img){ for(var pixel of img.values()){ var avg = (pixel.getRed()+pixel.getGreen()+pixel.getBlue())/3; pixel.setRed(avg); pixel.setGree

JavaScript实现文件下载并重命名代码实例

这篇文章主要介绍了JavaScript实现文件下载并重命名代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 第一种是HTML官网中的方法 <a href="/images/liang.jpg" rel="external nofollow" download="文件名称"> HTML5 中 a 标签提供了一个 filename 属性,可以下载成指定的 download 属性名称

JavaScript监听触摸事件代码实例

这篇文章主要介绍了JavaScript监听触摸事件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 监听 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, use

JavaScript遍历数组的方法代码实例

这篇文章主要介绍了JavaScript遍历数组的方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 for循环 let arr=["A","B","C","D","E","F"]; for(let i=0;i<arr.length;i++){ console.log(arr[i]); } for...of 遍历出数组中的每

Javascript操作select控件代码实例

这篇文章主要介绍了Javascript操作select控件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 新增.修改.删除.选中.清空.判断存在等 1.判断select选项中 是否存在Value="paraValue"的Item function jsselectisexititem(objselect,objitemvalue) { var isexit = false; for(var i=0;i<objselect

基于javascript实现获取最短路径算法代码实例

这篇文章主要介绍了基于javascript实现获取最短路径算法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 //A算法 自动寻路 路径 class GetAutoPath{ constructor(id, map, sPos, ePos, mapArr){ //this.type = id.type; this.id = id; this.map = map; this.sPos = sPos; this.ePos = eP

JavaScript获取图片真实大小代码实例

网页页面上的图片尺寸似乎都千篇一律.我们最常见到的带有多图的文章页面中,图的大小通常是和页面的宽度一致,这样看起来,页面就是一个直筒形,这样的布局看多了就会觉得很单调.之所以形成这样的局面,我想很大程度上是因为老式浏览器的限制.但随着现代浏览器(火狐/谷歌/IE11)的普及,浏览器对页面设计的限制越来越少,Web程序员的想象能力能够得到极大的发挥. 比如,冷知识:你知道每个视窗都有的 [x] 是怎么来的吗?这篇文章中,很多图片超出了文本宽度的限制,给人一种参差错落的感觉,同时,让大图片以其真实的

基于JavaScript实现猜数字游戏代码实例

环境 vscode 1.46 Microsoft Edge 83 示例 以下内容为了解和熟悉 JavaScript,不需要理解,能够复制粘贴并正确运行即可. 新建网页模板 在 vscode 中新建一个 index.html 文件,然后输入以下内容. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>猜数字游戏</title> <style&