[Js]缓冲运动
一、运动框架
1.在开始运动时,关闭已有定时器(否则会不断有新的定时器执行)
2.把运动和停止隔开(if/else)
二、缓冲运动
逐渐变慢,最后停止(距离越远速度越大)
速度=(目标值-当前值)/缩放系数
例如 var iSpeed=(iTarget-oDiv.offsetLeft)/8;
但由于除法可能产生小数,位置加上一个小数还是会被舍弃(如300.25px其实还是会被计算机当成300px),所以小数要给它向上取整,当然也有可能是负的小数,那就要向下取整
iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
潜在问题:目标值有时候也是计算出来可能是小数,也要给它取整parseInt(iTarget)
三、匀速运动的停止条件
距离足够近
if(Math.abs(oDiv.offsetLeft-iTarget)<iSpeed){ //不管往左还是往右,取绝对值
oDiv.style.left=iTarget+'px';
}
[Js]缓冲运动的更多相关文章
- JS缓冲运动案例:右侧居中悬浮窗
		JS缓冲运动案例:右侧居中悬浮窗 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta cha ... 
- JS缓冲运动案例:右下角悬浮窗
		JS缓冲运动案例:右下角悬浮窗 红色区块模拟页面的右下角浮窗,在页面进行滚动时,浮窗做缓冲运动,最终在页面右下角停留. <!DOCTYPE html> <html lang=&quo ... 
- js缓冲运动
		缓冲运动 现象:逐渐变慢,最后停止 原理:距离越远,速度越大 速度的计算方式: 1,速度由距离决定 2,速度=(目标值-当前值)/缩放系数 说明:速度为正负数时,也决定了物体移动的方向 示例:div缓 ... 
- JS缓冲运动案例
		点击"向右"按钮,红色的#red区块开始向右缓冲运动,抵达到黑色竖线位置自动停止,再次点击"向右"#red区块也不会再运动.点击"向左"按钮 ... 
- JS 缓冲运动 带运动的留言本  小案例
		<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ... 
- js 运动函数篇 (一) (匀速运动、缓冲运动、多物体运动、多物体不同值运动、多物体多值运动)层层深入
		前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS写 匀速运动.缓冲运动.多物体运 ... 
- js实现缓冲运动,和匀速运动有点不相同
		缓冲运动和匀速运动有点不同,看图可以知道缓冲运动速度是越来越慢的. <style> *{ padding:0; margin:10px 0; } #div1{ height:100px; ... 
- js动画之缓冲运动
		缓冲运动就是运动的速度与时间或者距离有关联,不是一般的匀速运动 <!DOCTYPE html> <html lang="en"> <head> ... 
- JS运动基础(二) 摩擦运动、缓冲运动
		摩擦运动: 逐渐变慢,最后停止 缓冲运动: 与摩擦力的区别:可以精确的停到指定目标点距离越远速度越大速度由距离决定速度=(目标值-当前值)/缩放系数Bug:速度取整值取整: iSpeed = iSpe ... 
随机推荐
- HBase介绍及简易安装(转)
			HBase介绍及简易安装(转) HBase简介 HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问,是Google的BigTable的开源实现.HBase的目标是存 ... 
- 应用部署到JBOSS上遇到的问题
			原来应用在WAS7.0下,移植到JBOSS eap5.1.2下后,遇到了一些问题,特此记录: 1.数据源配置 在was中,datasource中获取数据源名称时,直接写was中配置的数据源名称即可.而 ... 
- javaMail编写案列
			package common.impl; import java.util.Properties; import javax.mail.BodyPart; import javax.mail.Mess ... 
- ASP.NET MVC HtmlHelper用法集锦
			ASP.NET MVC HtmlHelper用法集锦 在写一个编辑数据的页面时,我们通常会写如下代码 1:<inputtype="text"value='<%=View ... 
- mysql 循环控制
			1.使用whileDROP PROCEDURE IF EXISTS `addstudent`;DELIMITER ;;CREATE PROCEDURE `addstudent`(iNum int)BE ... 
- iOS开发之总结
			NO.1 要孜孜不倦的学习有句话叫技多不压身,编程本来就是一个更新换代非常快的工作.每年都有新的技术出现,我认为要成为一个出色的程序员只掌握一门语言肯定是不行的.那么,要怎么选择自己的第二门,甚至第三 ... 
- mybatis动态sql中foreach标签的使用
			foreach标签主要用于构建in条件,他可以在sql中对集合进行迭代.如下: <delete id="deleteBatch"> delete from user w ... 
- [转载]WEB缓存技术概述
			[原文地址]http://www.hbjjrb.com/Jishu/ASP/201110/319372.html 引言 WWW是互联网上最受欢迎的应用之一,其快速增长造成网络拥塞和服务器超载,导致客户 ... 
- sccm部署win7原版系统系统盘为D盘
			1. 系统部署完毕之后是这样的 
- 关于eclipse中maven项目的问题
			问题1: 严重: Error configuring application listener of class org.springframework.web.context.ContextLoad ... 
