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

一、结构就是这样啦:(就是喜欢用a标签,任性。)
<div id="smallBox01">
<a href="#" class="button01">变宽</a>
<a href="#" class="button01">变高</a>
<a href="#" class="button01">变色</a>
<a href="#" class="button01">隐藏</a>
<a href="#" class="button01">重置</a>
</div>
<div id="changeBox01"></div>
二、样式呢
#changeBox01{height: 100px;width: 100px;background-color:#77948d;}
原先盒子的宽高,背景色(其他都不是重点啦)
三、js实现
window.onload=function(){
practice01();
};
var practice01=function(){
//取到按钮的父元素
var oControl=document.getElementById('smallBox01');
//取到每一个a标签
var oBtn=oControl.getElementsByTagName('a');
// 取到要改变的盒子
var oDiv=document.getElementById('changeBox01');
//建立一个二维数组存放分别每个按钮要改变的样式和样式值
var oAtt=[["width","200px"],["height","200px"],["background","#6E5794"],["display","none"],["display","block"]];
//创建改变样式的值
function changeStyle(elem,attr,value){
elem.style[attr]=value;
}
//遍历a标签
for (var i = 0; i < oBtn.length; i++) {
//设置对应的index
oBtn[i].index=i;
//绑定点击事件
oBtn[i].onclick=function(){
//重置按钮,清空之前的样式
this.index==oBtn.length-1 &&(oDiv.style.cssText="");
//改变对应的样式
changeStyle(oDiv,oAtt[this.index][0],oAtt[this.index][1]);
};
}
};
我想注解的挺清楚了吧。
四、原作中的这句 this.index==oBtn.length-1 &&(oDiv.style.cssText="");
刚开始理解了半天,后来百度才知道。是指前半句this.index==oBtn.length-1为true时,执行下半句
也就是当遍历到重置按钮时,先清除之前添加的样式
用“与”(&&)代替了if判断语句,小技巧get。
总结:这算是最最基础的js练习了,模仿过一遍熟悉了通过js控制css样式改变(太懒了,变量名都抄原作的……下次不这样了,囧)
在线查看:wzlinsen.com/js.html#js01 Ferris大大原作:http://fgm.cc/learn/
个人简历:wzlinsen.com
转载请注明来自:http://www.cnblogs.com/wzls/
js练习-控制div属性的更多相关文章
- 控制DIV属性——实现盒子长、宽、背景等变化
写在最前面:Demo的源起来自于http://js.fgm.cc/learn/,但是实现部分都是经过自己思考和优化的,有时会借助别人的图片,然而“窃喜”.如无特殊说明,demo都是经过ie6.ie7等 ...
- 原生Javascript实现控制DIV属性
写在前面: 从事前端工作已有一年之久,因为工作的性质,不太涉及JS方面,所以自己的JS水平一直处于小白阶段,工作闲暇之余,在网上找了一些小项目,希望练练手,促进自己成长.这是第一篇,后续还会有很多记录 ...
- 第一课 1) 控制div属性 总结
点击按钮变换属性: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- 01 使用JavaScript原生控制div属性
写在前面: 因对前端开发感兴趣,于是自学前端技术,现在已经会HTML.CSS.JavaScript基础技术.但水平处于小白阶段,在网上找一些小项目练练手,促进自己的技术成长.文章记录自己的所思所想,以 ...
- 控制div属性
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- bootstrap-select js jQuery控制select属性变化
bootstrap-select我想大家都不陌生是一个前端下拉框的插件非常好用,在select的标签中设置属性可以做很多功能控制,不过初始化之后怎么去修改网上找遍中文英文也没有一个交代自己研究好久研究 ...
- js键盘控制div移动,解决停顿问题
问题版本代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <html> &l ...
- 用JS来控制 div的高度随浏览器变化而变化
<div id="test" style=" border: solid 1px #f00; "></div> <script t ...
- js键盘控制DIV移动
<style type="text/css"> html,body{overflow:hidden;}body{margin:0;padding:0;}pre{colo ...
随机推荐
- 51Node 1035----最长的循环节
51Node 1035----最长的循环节 正整数k的倒数1/k,写为10进制的小数如果为无限循环小数,则存在一个循环节,求<=n的数中,倒数循环节长度最长的那个数. 1/6= 0.1 ...
- 【洛谷 p3382】模板-三分法(算法效率)
题目:给出一个N次函数,保证在范围[l,r]内存在一点x,使得[l,x]上单调增,[x,r]上单调减.试求出x的值. 解法:与二分法枚举中点使区间分成2份不一样,三分法是枚举三分点,再根据题目的情况修 ...
- 最小化安装centos7下配置网络
虚拟机操作系统:centos7.0 命令行模式 1.首先明确centos7在最小化安装完是不支持上网的,相应的查看网络以及修改网络参数是不能使用的,最常见的就是我们常用的ifconfig. 2.找到网 ...
- 以Web Host的方式来寄宿Web API
一.新建一个Common的类库项目并新建一个测试用的Contact实体类 namespace Common { public class Contact { public string Id { ge ...
- OC静态库里NSClassFromString得到nil的解决
如果你在静态库中有从类名反射回类的代码, 如下: NSString *myClassStr = @"myClass"; Class myClazz = NSClassFromStr ...
- Mysql之执行计划
1.explain分析sql语句 例如: EXPLAIN ) ORDER BY bi.`publish_time` 返回结果: 而今天检查的不是这条sql,远比这条复杂,不过也能反映情况了. (1 ...
- python基础之正则表达式。
简介 就其本质而言,正则表达式是内嵌在python内,由re模块实现,小型的专业化语言,最后由c写的匹配引擎执行.正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来 ...
- AutoCAD .NET二次开发(三)
在ArcGIS中,锁是一个经常遇到的东西,在打开一个该当时要锁定,编辑一个文档是再次锁定.要深入理解这个,要学习一下进程与线程.在CAD.NET中,也有Lock与Unlock. 获取一个文档,在进行处 ...
- 对抗静态分析——so文件的加密
[预备起~~~]最近在忙找工作的事情,笔试~面试~笔试~面试...很久没有写(pian)文(gao)章(fei).忙了一阵子之后,终于~~~到了选offer的阶段(你家公司不是牛吗,老子不接你家off ...
- HBase数据模型剖析
出处:http://wuyudong.com/1987.html HBase 进行数据建模的方式和你熟悉的关系型数据库有些不同.关系型数据库围绕表.列和数据类型——数据的形态使用严格的规则.遵守这些严 ...