多物体的运动,实现切换

上面一篇简要指明了多物体的淡入淡出,主要是把握定时器的用法与参数及速度的处理,这篇介绍一下多个物体的运动,和单个物体的运动有点区别。

下面是写一些简要代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
div { width: 100px;height: 50px;background: red;margin-top: 30px; border: 3px solid black;}
</style>
<script type="text/javascript">
window.onload = function(){

var oDiv = document.getElementsByTagName(‘div‘);
var i=0;
for(i=0;i<oDiv.length;i++){
oDiv[i].timer = null;                          //设置多个定时器,给定时器一个索引值
oDiv[i].onmouseover = function(){
setMove(this,300);                          //为当前的div加上样式,后面一个参数是要设置的目标值
}
oDiv[i].onmouseout = function(){
setMove(this,100);
}
}
};

function setMove(obj,iTarget){                    //设置多个参数
var timer = null;
clearInterval(obj.timer);                       //在开启定时器之前,关闭当前的定时器
obj.timer = setInterval(function(){                  //为当前div设置定时器

var iSpeed = (iTarget-obj.offsetWidth)/8;
iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);       //将当前的速度转化成整型值
//Math.ceil向上取整,Math.floor向下取整
if(obj.offsetWidth==iTarget){
clearInterval(obj.timer); //清除当前div的定时器
}else{
obj.style.width =obj.offsetWidth+iSpeed+‘px‘;            //将div的宽以一定速度增加
}
},30);
}
</script>
</head>
<body>
<div></div>
<div></div>
<div></div>
</body>
</html>

当然这里的运动,运动形式还比较单一,只针对宽度或者高度,并没有实现多个形式的运动,这里将在下面在简单介绍一下

时间: 2024-08-18 09:54:19

多物体的运动,实现切换的相关文章

关于多物体缓冲运动

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>多物体缓冲运动</title></head><style>*{margin:0px;padding:0px;}#move li{width:200px;height:100px;display:block;margin-bottom:20

NewtonPrincipia_物体的运动_求向心力

NewtonPrincipia_物体的运动_求向心力 程序和数学的一个显而易见的区别就是:程序的每个变量必须依赖于某个具体的数,而数学的变量我们只要知道它是一个符号就可以了:程序中的变量必须是离散的,而数学中的变量是以连续的可以与数轴上的点一一对应的. 下面的叙述中很少有公式,且充满了比例.我曾经听到过一种观点,数学是交给笨的人使用的工具,而那些聪明的人,他们可以用最原始的方法找到解决方案.让我们看一下十七世纪的被苹果砸中的艾萨克,是怎样推导出向心力公式的.在现在的观点看来,其中涉及到的很多没有

Unity游戏开发的数学与物理 2 ( 通过键盘控制物体的运动 )

通过键盘控制物体的运动 实现需注意: 获取键盘相应的方法 边界检测 合力方向的速度处理 勾股定理 using UnityEngine; using System.Collections; //通过键盘控制物体的运动 public class KeyControlMotionTest : MonoBehaviour { //物体的X位置 float posX = 0; //物体的Y位置 float posY = 0; //物体在x方向上的速度 float speedX = 1; //物体在y方向上

js多物体任意值运动

假如有两个div,一个div要变宽,一个div要变高,你怎么写呢? 哎呀,写2个方法啊,一个控制div1变宽,一个控制div2变高啊 那么你的代码,是不是下面这样的呢! 示例:Div变宽和变高 现象:div1在onmouseover时变宽,onmouseout时恢复原大小; div2在onmouseover时变高,onmouseout时恢复原大小 缺点:重复的代码写了好几个方法 html部分 <div id="div1"></div> <div id=&q

简单的JS多物体的运动---运动和透明度的变化

今天有幸被召回母校给即将毕业的学弟学妹们讲我这两年的工作史,看了下母校没啥特别的变化,就是寝室都安了空调,学妹们都非常漂亮而已..好了不扯蛋了,说下今天的主题吧.这些天我在深度定制语法高亮功能的同时发现了博客园提供的一些有意思的函数,甚至有几个博客园都没用到,我也不知道怎么才能触发那些功能..打开这个js就可以看到很多好用的东西了,虽然写的不怎么样,但是至少有这些功能. ps: 推荐安装一个代码格式化的插件,否则一坨看着蛋疼.比如第一个就是 log,方便调试. http://blog.csdn.

js多个物体运动的问题1

问题2 http://www.cnblogs.com/huaci/p/3854304.html 用js写一个物体的运动很简单.如果一个页面有多个物体在运动,它会不会出问题呢? ok,我们来看一个示例 让多个div变宽 现象:onmouseover时,div宽度变宽:onmouseout时,div恢复原大小 html部分 <div id="div1"></div> <div id="div2"></div> <di

【图像处理】openCV光流法追踪运动物体

openCV光流法追踪运动物体 email:[email protected] 一.光流简单介绍 摘自:zouxy09 光流的概念是Gibson在1950年首先提出来的.它是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的相应关系.从而计算出相邻帧之间物体的运动信息的一种方法.一般而言,光流是因为场景中前景目标本身的移动.相机的运动,或者两者的共同运动所产生的. 研究光流场的目的就是为了从图片序列中近似得到

JS实现多物体width缓冲运动实例

多物体运动,运动参数不能公用. 这篇文章主要介绍了JS实现多物体缓冲运动实例代码,有需要的朋友可以参考一下 效果: 思路: 利用setInterval计时器进行运动,offsetWidth实现宽度的变动,在用onmouseover将终点和所选中的DIV放入参数再进行缓冲运动. 代码: 代码如下: <head runat="server"> <title></title> <style type="text/css">

运动物体检测——光流法(摄像机固定)

前面的一篇文章谈了高斯背景模型在运动物体检测中的应用.本文主要讨论另一种方法——光流法.与高斯背景模型的方法不同,光流法可以用于摄像机固定和摄像机运动的情形,但本文只就摄像机固定的情况进行讨论,即不涉及摄像机运动预测问题. 光流法的介绍 在空间中,运动可以用运动场描述.而在一个图像平面上,物体的运动往往是通过图像序列中不同图象灰度分布的不同体现的.从而,空间中的运动场转移到图像上就表示为光流场,光流场反映了图像上每一点灰度的变化趋势. 光流可以看作带有灰度的像素点在图像平面运动产生的瞬时速度场.