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){//声明一个函数,包含三个参数(元素,属性,值),外部函数1elem.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>
本文转载于:猿2048➼https://www.mk2048.com/blog/blog.php?id=0ijccjb&title=控制元素的div属性