基于原生js运动方式关键点的总结(推荐)

主要方法:定时器的运用 setInterval(funnction(){},30);

为了避免最后时刻速度即将停止时的误差,可以采用下面的方法:

if(iSpeed<1)//速度足够小的时候,让速度直接为0,避免速度的波动
{
iSpeed = 0;
}

绝对值的运用(主要运用于弹性运动等速度有正负的情况):

Math.abs(2.5)// 2

弹性运动和摩擦力的组合:

iSpeed+=(iTarget-obj.offsetLeft)/5;
iSpeed*=0.7;

模拟摩擦力:

iSpeed*=0.95;//小数速度会越来越小

减速运动:

iSpeed--;

加速运动:

iSpeed++;

弹性运动:

iSpeed+=(300-oDiv.offsetLeft)/50;

碰撞运动:

iSpeed *= -1;

以上这篇基于原生js运动方式关键点的总结(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 浅析JS运动

    物体运动原理:通过改变物体的位置,而发生移动变化. 任何运动都是相对的,就像物理中的运动公式:s(要达到的)=s0(当前的样式值)+vt. 方法:       1.运动的物体使用绝对定位       2.通过改变定位物体的属性(left.right.top.bottom)值来使物体移动.例如向右或左移动可以使用offsetLeft(offsetRight)来控制左右移动. 步骤:     1.开始运动前,先清除已有定时器 (因为:是连续点击按钮,物体会运动越来越快,造成运动混乱)     2.开

  • javascript关于运动的各种问题经典总结

    本文实例总结了javascript关于运动的各种问题.分享给大家供大家参考.具体如下: 一.JS运动的各种问题 问题一: 错误代码: function startMove(){ var timer=null; var div1=document.getElementById("div1"); if (div1.offsetLeft==300){ clearInterval(timer); }else{ timer=setInterval(function(){ div1.style.l

  • js运动应用实例解析

    本文为大家提供了两个js运动应用实例,分享给大家,具体实现内容如下 应用1,完成如下效果: js代码如下: <script src="move.js"></script> <script> window.onload=function () { var oDiv=document.getElementById('play'); var aBtn=oDiv.getElementsByTagName('ol')[0].getElementsByTagNa

  • 基于原生js运动方式关键点的总结(推荐)

    主要方法:定时器的运用 setInterval(funnction(){},30); 为了避免最后时刻速度即将停止时的误差,可以采用下面的方法: if(iSpeed<1)//速度足够小的时候,让速度直接为0,避免速度的波动 { iSpeed = 0; } 绝对值的运用(主要运用于弹性运动等速度有正负的情况): Math.abs(2.5)// 2 弹性运动和摩擦力的组合: iSpeed+=(iTarget-obj.offsetLeft)/5; iSpeed*=0.7; 模拟摩擦力: iSpeed*

  • 基于原生JS封装的Modal对话框插件的示例代码

    基于原生JS封装Modal对话框插件,具体内容如下所示: 原生JS封装Modal对话框插件,个人用来学习原理与思想,只有简单的基本框架的实现,可在此基础上添加更多配置项 API配置 //基本语法 let modal = ModalPlugin({ //提示的标题信息 title:'系统提示', //内容模板 字符串 /模板字符串/DOM元素对象 template:null, //自定义按钮信息 buttons:[{ //按钮文字 text:'确定', click(){ //this:当前实例 }

  • 基于原生JS实现分页效果的示例代码

    这个只是一个分页的demo,主要是思路整理(很久之前项目用的东西) 分页实现的效果 主要是 左侧上一页 右侧是下一页 中间显示主要是超过5个显示 省略号 然后是可配置选项 实现之后的效果 首先需要初始化该对象的一些基本属性,显示总页码数,中间显示的页面数, 添加一个回调函数,在页面变化激活回调函数并返回当前页面和一些需要的其他参数 init为对象初始化的方法(里面的参数都是可以写成活的,我这里偷懒了所以写成死的了) 这个里的 z_page 可以接是接口返回的总页数 function Page(o

  • 原生JS运动实现轮播图

    原生JS运动实现轮播图 **基本原理:**通过控制包含n张图片的ul的left值来实现图片自动运动的效果,其中列表中li元素的个数为n,第一个li和最后一个li里存放的图片应为同一张图片,当图片运动到最后一张时,将ul的left值设为0,即可达到图片无线轮播的效果. 运动函数的实现 函数需传入元素(即需要参与运动的元素).目标值(以对象的形式呈现,如{left: 300}).callback(回调函数). //多物体多值运动+回调机制 function startMove(dom, attrOb

  • 基于原生js实现九宫格算法代码实例

    九宫格算法核心: 利用控件索引index计算出控件所在的行数和列数: 利用控件计算出left距离: 利用控件计算出top距离: 写特效时需要用到定位 公式: 行 row=parseInt(i/cols); 列 col=parseInt(i%cols); i是当前的盒子,cols是总列数, 代码示例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"&g

  • 详解基于原生JS验证表单组件xy-form

    原生form表单 form 表单元素大家可能都用到过,除了可以提交表单外,还有一些内置的表单校验,比如 require . minlength . maxlength ,还有各种类型的 input ,比如 type=email 可以校验是否是邮箱类型,如果不满足还可以使用 pattern 进行正则校验. 原生的表单验证大概如下 虽然丑陋,功能却很强大,基本可以满足一般的需求,不过ui终究过于原生,而且也不方便自定义,所以很多情况下这种默认的表单验证并不使用. 下面来看看 xy-form 下的效果

  • 基于原生js淡入淡出函数封装(兼容IE)

    在开发的过程中,我们要做淡入淡出效果的话,我们完全可以使用jQuery的fadeTo()方法.但是我们的目的不只是会用,而是理解程序底层的逻辑.这篇文章主要就是利用原生的javascript实现淡入淡出的效果. 构建框架,基本没难度. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>透明度函数的封装</title> <style type

  • 基于原生JS实现图片裁剪

    下面是我自己写的图片裁剪的功能介绍: 可以利用鼠标拖拉,产生裁剪框 可以改变裁剪框大小 点击确定,返回裁剪数据 原理 完成裁剪的方法有两种: 1.利用HTML5新增拖拽事件drag drop等 2.传统方法,利用鼠标事件,mousedown.mousemove等 在这里,我们采用方法2. 裁剪区域的形成 要进行裁剪首先要形成裁剪区域,这个裁剪区域的形成我们可以与鼠标移动的距离相关联.鼠标移动多远,裁剪区域就有多大.如下图: 如上图所示鼠标的横向移动距离与纵向移动距离共同组成了裁剪区域的宽和高.

  • 基于原生js实现判断元素是否有指定class名

    [注意]以下方法只对class只有一个值的情况下操作 结构部分: <div> <p>1</p> <p class="test">2</p> <p>3</p> </div> js部分: var p = document.getElementsByTagName('p'); for(var i = 0;i <p.length;i++){ //第一种方法,用classList这个H5 API

  • 原生JS实现图片翻书效果

    下面给大家分享基于原生js实现的图片翻书效果,具体代码如下所示: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>JS实现图片翻书效果-懒人图库</title> <META

随机推荐