首先我定义3个div每个div当我鼠标放上去的时候,他的宽度就表达,如下图

首先是样式和html代码

 <style>
div{
width:100px;
height:50px;
background:red;
margin-bottom:10px;
}
</style> <body>
<div></div>
<div></div>
<div></div>
</body>

js代码如下,带注释

 <script>
//重点是给每个对象加个定时器
window.onload=function()
{
var div1= document.getElementsByTagName('div'); //获取每个div for(var i=0;i<div1.length;i++) //当移到哪个div,哪个div发生变化
{
div1[i].timer=null; //首先将定时器清空以免发生其他问题
div1[i].onmouseover=function()
{
startMove(this,400);
};
div1[i].onmouseout=function()
{
startMove(this,100);
};
}
}; function startMove(obj,iTarget)
{
clearInterval(obj.timer);
obj.timer=setInterval(
function()
{
var speed=(iTarget-obj.offsetWidth)/5; // 定义速度 speed=speed>0?Math.ceil(speed):Math.floor(speed); //速度去上限的限
if (obj.offsetWidth==iTarget) //如果宽度已经增加到需要的宽度。停止计时器
{
clearInterval(obj.timer);
}
else //不断增加宽度直到到iTarget的值
{
obj.style.width=obj.offsetWidth+speed+'px';
} }
, 30)
}
</script>

感觉不难,重点进入函数都得清理一下定时器

js实现基础运动的更多相关文章

  1. JS学习-基础运动

    多物体运动 多个物体用同一个函数时,函数里定义的定时器应该要每个物体对应一个定时器名称,不然会导致未完成运动就被关闭了,因为定时器名称一样,而开启定时器前会清除一下. obj.timer 多值同时运动 ...

  2. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  3. Node.js系列基础学习----安装,实现Hello World, REPL

    Node.js基础学习 简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一 ...

  4. css+js+html基础知识总结

    css+js+html基础知识总结 一.CSS相关 1.css的盒子模型:IE盒子模型.标准W3C盒子模型: 2.CSS优先级机制: 选择器的优先权:!important>style(内联样式) ...

  5. JavaScript基础精华02(函数声明,arguments对象,匿名函数,JS面向对象基础)

    函数声明 JavaScript中声明函数的方式:(无需声明返回值类型) function add(i1, i2) {             return i1 + i2;//如果不写return返回 ...

  6. JavaScript--我发现,原来你是这样的JS(基础概念--灵魂篇,一起来学js吧)

    介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第三篇(灵魂篇介绍),有着剩下的第三章的知识内容,当然其中还有我个人的理解.红宝书这本书可以说是难啃的,要看完不容易,挺厚的,要看懂 ...

  7. js复习--基础

    最近工作遇到了一些小困难,基础真的很重要,漫天高楼起于地. 一,script元素 包括type=“text/Javascript”,defer延迟到html加载完解析,src=“../../test. ...

  8. js动画 Css提供的运动 js提供的运动

    1.     动画 (1)      Css样式提供了运动 过渡的属性transition  从一种情况到另一种情况叫过渡 Transition:attr  time  linear  delay: ...

  9. JS零基础一步一步做应用全记录

    1.起因 作为几个外卖重度依赖癌晚期患者,呆宿舍的时候几个人一起叫外卖已经是常事.偶然看到隔壁宿舍在饿了么订餐的时候,看到在饿了么的首页上有一个谁去拿外卖的一个小游戏/工具,感觉这个小细节,饿了么把握 ...

随机推荐

  1. Android VideoView播放视频

    今天介绍一下Android的视频播放控件VideoView,下面介绍一下VideoView的使用步骤: 1.在界面布局中定义VideoView组件,或者在程序中创建VideoView组件. 2.调用V ...

  2. 【php常用】常用函数啥的

    1.intval()  把变量转换成整数类型 2.trim() 去除字符串两边空格or 加上参数是去除该参数 3.array_values()  函数返回一个包含给定数组中所有键值的数组,但不保留键名 ...

  3. Struts2之过滤器和拦截器的区别

    刚学习Struts2这个框架不久,心中依然有一个疑惑未解那就是过滤器和拦截器的区别,相信也有不少人跟我一样对于这个问题没有太多的深入了解 那么下面我们就一起来探讨探讨 过滤器,是在java web中, ...

  4. day12_API第二天

    1.Scanner注意问题 1.Scanner中方法                   next() -- 查找并返回来自此扫描器的下一个完整标记.           nextLine() -- ...

  5. day11_API第一天

    1.Eclipse常用操作 1:安装 A:解压      B:复制到指定的目录(不要有中文,和其他非法字符) 2:使用     A:打开软件的界面      B:新建一个项目(工程)      C:在 ...

  6. java.lang.ClassNotFoundException: Didn't find class "*****(转载)

    很多人出现了java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{*****Activity}: java. ...

  7. git error

    一,今天在上传代码时出错: $ git push -u origin mastererror: The requested URL returned error: 403 Forbidden whil ...

  8. Oracle 12c SYSAUX表空间不足处理-清理audsys.cli_swp$a9b5f52c$1$1表

    今天在检查一台测试环境的表空间时,发现SYSAUX的使用率已经达到99.91% TABLESPACE_NAME FILES Freesize(MB) Usedsize(MB) Filesize(MB) ...

  9. LeetCode 【235. Lowest Common Ancestor of a Binary Search Tree】

    Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BS ...

  10. JavaBean用JSP调用和使用JSP动作标签的区别

    javabean的类可以用jsp动作标签实例化并使用. <!-- 下面这句是对Javabean类person的引用,引用的实例是p2 --> <jsp:useBean id=&quo ...