要开始练练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属性的更多相关文章

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

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

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

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

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

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

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

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

  5. 控制div属性

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

  6. bootstrap-select js jQuery控制select属性变化

    bootstrap-select我想大家都不陌生是一个前端下拉框的插件非常好用,在select的标签中设置属性可以做很多功能控制,不过初始化之后怎么去修改网上找遍中文英文也没有一个交代自己研究好久研究 ...

  7. 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 ...

  8. 用JS来控制 div的高度随浏览器变化而变化

    <div id="test" style=" border: solid 1px #f00; "></div> <script t ...

  9. js键盘控制DIV移动

    <style type="text/css"> html,body{overflow:hidden;}body{margin:0;padding:0;}pre{colo ...

随机推荐

  1. window10 mysql5.7 解压版 安装

    1. 解压mysql-5.7.11-winx64.zip 到某文件夹, 如C:\DevelopCommon\mysql-5.7.11-winx64. 2. 配置环境变量 变量名 : MYSQL_HOM ...

  2. ztree树 叶子节点路径的集合

    1.Question Description: ztree树各个节点都带有路径,如“/根节点”,"/根节点/一级节点",“根节点/一级节点/二级节点‘; 现在想获取所选的最末级节点 ...

  3. LGLAlertView 提示框

    使用与iOS8 以后,只是把系统的UIAlertController进行了封装,省的每次用的时候要写很多的代码.封装后只需要一句代码即可 , deome 地址:https://github.com/l ...

  4. mysql 5.6到percona 5.6小版本升级

    假设原来是mysql 5.6.19社区版,现在要升级到percona server 5.6.30. 对于大的数据库来说,采用mysqldump方式进行迁移太花费时间了,可采用新安装加载原来数据库的方式 ...

  5. [经验][JS]如何观察网站,进而模仿

    应该存在着一类人: 1.看到美丽的网站时,就会F12,看看他是怎么实现的 2.看到网站数据是自己需要的时候,就会F12,看看他是怎么拿到数据的 3.看到网站一个有趣的模块时,,就会F12,看看他是怎么 ...

  6. Android 5中不同效果的Toast

    一.运行的结果 二.主要的代码 package com.otn.android.toast; import java.util.Timer; import java.util.TimerTask; i ...

  7. Python: 关于nose

    1. 使用rednose增强输出 pip install rednose nosetests --rednose tests 2. 使用coverage pip install coverage no ...

  8. CocoaPod出现-bash: pod: command not found 解决办法

    从过年来到公司  就不用自己电脑了    之前一直自己带电脑   昨天随便建了一个demo   使用cocoapods  发现     -bash: pod: command not found 刚开 ...

  9. Profile 分析 Erlang 虚拟机源码时要注意的一个问题

    最近用 Intel Vtune 剖析 Erlang 虚拟机的运行,想看看那些函数和语句耗时最多,遇到一个小问题,那就是 Vtune 给出的源码和汇编码对应有问题.这个问题在 profile 或 deb ...

  10. (ios实战) UINavigationBar 返回按钮 文本自定义实现

    在实际开发过程, 我们使用navigationController时,上一个标题过长,导致下一个界面的返回按钮文本过长,比较难看,如果标题取名过短,又不能完全表达含义. 下面时如何实现返回按钮的Tit ...