1、需求分析

   改变元素的宽、高、颜色、显示、重置等属性。

2、技术分析

   基础的css、html、js

3、详细分析

如图,单击按钮,改变元素属性:

3.1 HTML部分

根据视图不难发现,内容分两大不分:按钮栏和效果图,所以设置两个div。

<body>
	<div class="outer">
		<input type="button" value="变宽" >
		<input type="button" value="变高" >
		<input type="button" value="变色" >
		<input type="button" value="隐形" >
		<input type="button" value="重置" >
	</div>
	<div class="content">	
	</div>	
</body>

3.2 CSS部分

<style type="text/css"> 
/*页面格式化,清除浏览器默认编剧(浏览器预留给滚动条边距)*/ *{ padding: 0; margin: 0; } /*设置元素宽度,元素居中,文本居中*/ .outer{ width: 500px; argin: 0 auto; text-align: center; } /*元素样式*/ .content{ width: 100px; height: 100px; background: black; margin: 10px auto; } </style>

3.3 JS部分 

<script type="text/javascript">
		var changeStyle=function(elem,attr,value){//声明一个函数,包含三个参数(元素,属性,值),外部函数1
			elem.style[attr]=value//三个参数之间的函数关系,元素的样式属性的集合等于值(点操作符:对象,方括号操作符:对象,数组)
		};
		window.onload=function(){//文档加载完成时,调用函数
			/*声明四大变量:按钮,元素,属性,值*/
			var btn=document.getElementsByTagName("input");//按钮变量来自标签
			var ctt=document.getElementClssName("content");//元素变量来自类名
			var att=["width","height","background","display","display"];//属性名数组集合
			var val=["200px","200px","red","none","block"];//属性值数组集合,属性值与属性名一一对应
		for(var i=0;i<btn.length;i++){
			btn[i].index=i;//数组btn中元素的索引值=i,给按钮数组中的每个元素编号
			btn[i].onclick=function(){//给数组中的元素添加点击事件,点击第i个按钮,调用函数				
			       changeStyle(ctt,att[this.index],val[this.index])//结合外部函数1,形成闭包,ctt为元素,this.index为按钮数组中元素的索引值,即i;属性att数组的第(this.index=i)个元素,属性值数组val的第(this.index=i)个元素值。
			       this.index==btn.length-1&&(ctt.style.cssText=" ");//可写成:if(this.index==btn.length-1){ctt.style.cssText=""},点击第四个按钮,清空css样式(cssText()适用块元素)
		    }
	    }
	}
</script>

  

 

   

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!