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. SharePreferences的用法

    1.创建 sharepreferences的方法: 首先创建该对象: 例如:(注意现在后面的模式7.0可以使用的只有 MODE_PRIVATE,其他全过时了 ) SharedPreferences s ...

  2. nginx+keepalived主辅切换(监控脚本在keepalived.conf中执行)

    以前写过一篇,nginx+keepalived 双机互备的文章,写那篇文章的时候没有想过如果apache或者nginx 挂了,而 keepalived 或者 机器没有死,那么主辅是不会切换的,今天就研 ...

  3. 常见的25个顶级PHP模板引擎

    为了找到一个好的模板引擎,我在互联网上进行搜索,目前已经整理出了以下名单: SmartySmarty的特点是将模板编译成PHP脚本,然后执行这些脚本.很快,非常灵活. Heyes Template C ...

  4. CSS零碎知识点

    一.zoom:1 IE专有属性 可以设置或检索对象的缩放比例 触发IE的layout属性 清除浮动:overflow:hidden;zoom:1; 但要尽量比较使用这种方法 zoom:1;可以拯救IE ...

  5. BNU 27847——Cellphone Typing——————【字典树】

    Cellphone Typing Time Limit: 5000ms Memory Limit: 131072KB This problem will be judged on UVA. Origi ...

  6. #if #endif #elif #undef

    #define aaa           //放在代码最前面 int a = 1; a = a + 1; #if !aaa {a = a + 1;}#elif !aaaaa {a=a+11;}#en ...

  7. Swift UI开发初探 (转)

    原文地址:http://www.tairan.com/archives/6600 关于Swift语法,可以参考<Apple Swift编程语言入门教程> 效果如下: 开发环境 Xcode6 ...

  8. css3 animatehue属性

    -webkit-perspective(-moz,-o,perspective下同)表示透视范围大小: -webkit-transform-style很好理解了,表示变换类型,preserve-3d看 ...

  9. react-native 视频播放器(很不错哦)

    第一步: npm i -S react-native-af-video-player(安装前:先安装: react-native-video.react-native-keep-awake.react ...

  10. Static 用法

    1.Static关键字含意:static译文是静态的,静止的,因此使用 static 修饰符声明属于类型本身而不是属于特定对象(new创建的对象)的静态成员. 2.修饰使用范围 static 修饰符可 ...