js笔记---封装一般运动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
	div{ width:100px; height:100px; background-color:red;  margin-top:20px;}
</style>
<script type="text/javascript">

window.onload=function(){
		var oDiv=document.getElementsByTagName(‘div‘);
		//int i=0;
		//for(i=0;i<oDiv.length;i++){

			//}
		oDiv[0].onmouseover=function(){
				StarMove(this,300,‘width‘);
			}
		oDiv[0].onmouseout=function(){
				StarMove(this,100,‘width‘);
			}
		oDiv[1].onmouseover=function(){
				StarMove(this,150,‘height‘);
			}
		oDiv[1].onmouseout=function(){
				StarMove(this,100,‘height‘);
			}
	}//获取兼容的对应属性值
function getStyle(obj,attr){
		if(obj.currentStyle){
				return obj.currentStyle[attr];
			}
		else{
				return getComputedStyle(obj,false)[attr];
			}
	}

function StarMove(obj,iTarget,attr){
		clearInterval(obj.timer);//清掉对应的 对象的定时器

		obj.timer=setInterval(function(){
			var iCur=parseInt(getStyle(obj,attr));
			var iSpeed=(iTarget-iCur)/8;
			iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
				if(iCur==iTarget){
						clearInterval(obj.timer);
					}
				else{
						obj.style[attr]=iCur+iSpeed+‘px‘;
					}
			},30);
	}
</script>
</head>

<body>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
</html>

  

时间: 2025-01-13 21:31:16

js笔记---封装一般运动的相关文章

js笔记---封装自己的Ajax方法

//地址 成功方法 失败方法function Ajax(url, funsucc, funfial) { var oAjax = null; if (window.XMLHttpRequest) { oAjax = new XMLHttpRequest(); } else { oAjax = ActiveXObject('Microsoft.XMLHTTP'); } oAjax.open('get', url, true); oAjax.send(); oAjax.onreadystatecha

node.js笔记——模块的开发

模块是什么? 简单来说模块是用来将实现某个功能的代码进行封装以便在其他项目中通过简单引入的方式实现模块中封装的功能的一个东西!!(我更想管他叫小程序). 模块的引入 模块的引入使用reqiure()函数来实现例如引入http模块 var h = require("http"); 这里需要注意的是require()加载函数可以加载指定的js文件,当引入的不是某个js文件而是一段没有扩展名的字符时,默认node.js会加载当前根目录下的node_modules文件夹下面的文件夹里的文件 并

jquer和封装的运动函数对比

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图片切换----->> jquer和封装的运动函数对比 </title> <style type="text/css"> #parent{ margin:500px 500px 0 500px; position:

Node.js笔记(0003)---Express框架Router模块学习笔记

这段时间一直有在看Express框架的API,最近刚看到Router,以下是我认为需要注意的地方: Router模块中有一个param方法,刚开始看得有点模糊,官网大概是这么描述的: Map logic to route parameters. 大概意思就是路由参数的映射逻辑 这个可能一时半会也不明白其作用,尤其是不知道get和param的执行顺序 再看看源码里面的介绍: Map the given param placeholder `name`(s) to the given callbac

# JS笔记(1)

 JS理论: 1.JavaScript是一个客户端脚本 ------工作在客户端的浏览器完成:相对应的PHP.ASP.NET .JSP 是一个服务端脚本. 2.JS可以插入到HTML中的任意一个位置,不过HTML解析式从上往下解析的,所以放在上面可能会找不到控件. 3.JS的特点: 脚本编程语言 基于对象的语言 由事件驱动 跨平台.依赖于浏览器.与操作环境无关 4.JS的作用: 表单的验证(放在客户端验证比较好)----可以减轻服务端的压力,并且用户体验感更好 页面的动态效果 动态改变页面的内容

Node.js模块封装及使用

Node.js中也有一些功能的封装,类似C#的类库,封装成模块这样方便使用,安装之后用require()就能引入调用. 一.Node.js模块封装 1.创建一个名为censorify的文件夹 2.在censorify下创建3个文件censortext.js.package.json.README.md文件 1).在censortext.js下输入一个过滤特定单词并用星号代替的函数. var censoredWorlds=["sad","bad","mad&

node.js笔记——文件之间的引入

node.js的基础语法就是JavaScript的语法,所以对于懂得javascript的同学来说要容易一些,至于环境的配置也要相对简单很多,可以访问官方文档进行安装.这里分享一下我在学习中总结的一些东西,这是第一篇先来说说文件之间如何进行引入并互相使用变量及函数. 码缘»node.js笔记——文件之间的引入 http://www.ithome.ren/2017/05/31/node-js1.html

js多物体任意值运动

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

JS 笔记 17年

1, 可把字符串作为 URI 组件进行编码   encodeURIComponent(encodeURIComponent(6))   此为编码两次 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号. escape()除了 ASCII 字母.数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法.而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换.encodeURIComponen