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>

  

   

控制元素的div属性的更多相关文章

  1. JS学习笔记 - fgm练习 - 多按钮控制同个div属性

    总结: 1. 注意body里的结构安排,全部装在大div,避免多次设置不同部分居中. 2. 一排按钮居中:装在大div里,text-align: center; 3. 把相同的部分封装成函数,即 同个 ...

  2. js练习-控制div属性

    要开始练练js了,决定先按照Ferris大大的索引表一个个练,头一个就是控制div属性啦.看似挺简单的,不过平时jquery用惯了,用起来原生js还有点手生呢. 总之就是模仿加练习啦,先看看效果: 一 ...

  3. 控制DIV属性——实现盒子长、宽、背景等变化

    写在最前面:Demo的源起来自于http://js.fgm.cc/learn/,但是实现部分都是经过自己思考和优化的,有时会借助别人的图片,然而“窃喜”.如无特殊说明,demo都是经过ie6.ie7等 ...

  4. 原生Javascript实现控制DIV属性

    写在前面: 从事前端工作已有一年之久,因为工作的性质,不太涉及JS方面,所以自己的JS水平一直处于小白阶段,工作闲暇之余,在网上找了一些小项目,希望练练手,促进自己成长.这是第一篇,后续还会有很多记录 ...

  5. 第一课 1) 控制div属性 总结

    点击按钮变换属性: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  6. 01 使用JavaScript原生控制div属性

    写在前面: 因对前端开发感兴趣,于是自学前端技术,现在已经会HTML.CSS.JavaScript基础技术.但水平处于小白阶段,在网上找一些小项目练练手,促进自己的技术成长.文章记录自己的所思所想,以 ...

  7. LinearLayout的gravity属性以及其子元素的layout_gravity何时有效;RelativeLayout如何调整其子元素位置只能用子元素中的属性来控制,用RelativeLayout中的gravity无法控制!!!

    LinearLayout的gravity属性以及其子元素的layout_gravity何时有效:RelativeLayout如何调整其子元素位置只能用子元素中的属性来控制,用RelativeLayou ...

  8. 控制div属性

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. js 控制展开折叠 div html dom

    js 控制展开折叠 div    html dom <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ...

随机推荐

  1. js写ajax并解析json

    function down(t){  var req = createRequest();  //创建request req.open("GET","selectWord ...

  2. 获取tomcat路径

    String serverPath = System.getProperty("catalina.home");

  3. IOS Intro - Property Synthesis

    http://www.thecodecrate.com/ios/objective-c/objective-c-property-synthesize/ 01. atomic              ...

  4. SourceTree 关于 .gitignore使用/下载

    # =============== # # Unity generated # # =============== # Temp/ Obj/ UnityGenerated/ Library/ Asse ...

  5. IDEA部署Express工程

    1.下载并安装Nodejs 2.通过Nodejs的NPM工具安装全局安装express工具,命令如下: npm install -g express@XXX npm install -g expres ...

  6. 021-动态生成验证码jsp代码模板

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  7. 修改jar包bug的方式

    第一种方式 1. 直接在项目同样的包名里面新建同样的class,会优先jar包的class加载,等同于覆盖. 第二种方式 2. 拿到第一步打包后的jar或者war,找到相应的java类的.class文 ...

  8. D5上

    好慌啊 0分?? T1 感觉是组合数,不知道对不对. #include<iostream> #include<cstring> #include<cstdio> # ...

  9. 查看SQL Server中的锁表及解锁

    有时候系统很慢,有可能是SQL Server数据库中某些表被锁定 --查看被锁表(需查多几次,有些临时锁很快会自动解锁): SELECT request_session_id AS spid, OBJ ...

  10. vue的计算和监视属性,附一小实例

    1. 计算属性 在computed属性对象中定义计算属性的方法 在页面中使用{{方法名}}来显示计算的结果 2. 监视属性: 通过通过vm对象的$watch()或watch配置来监视指定的属性 当属性 ...