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/

时间: 2024-12-21 07:18:14

js练习-控制div属性的相关文章

控制div属性

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

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

1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>控制div属性</title> 7 <style> 8 #outer { 9 width: 500px; 10 margin: 0 auto; 11 padding: 0; 12 text-align: center; 1

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

bootstrap-select我想大家都不陌生是一个前端下拉框的插件非常好用,在select的标签中设置属性可以做很多功能控制,不过初始化之后怎么去修改网上找遍中文英文也没有一个交代自己研究好久研究出来了,当然有的人会干掉重新生成那样太low,我决定来填补这个空白. js控制select属性变化其实很简单,并不需要 $('#goodsNames').selectpicker('render'); $('#goodsNames').selectpicker('refresh'); 来重新渲染只用

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> <head> <title>键盘控制div移动</title> <meta charset="utf-8" /> <style type="text/css"> #div1{width:100px;height:1

JS-DOM ~ 03. 子节点的操作、style.样式和属性、dom元素的创建方法及操作、14个例题、主要是利用js直接控制html属性

带有Element和不带的区别 a)  带Element的获取的是元素节点 b)  不带可能获取文本节点和属性节点 获取所以子节点 a)   . childNodes b)   . children c)   . parentNode . children [索引] . children:获取所有子节点 opacity:0-1:透明度 alpha(opacity:百分数):IE6/7/8透明度 先绑定事件再进行循环 previousNode()上一个兄弟节点 alert(变量名)可测试变量名是否

React练习 1 :控制div属性

在线效果浏览 需求:5个按钮,点击后分别修改 1 个div元素的一项属性 2个组件: 父组件:App a 利用 hook useRef 获取 div元素的引用,并传递给子组件 Myinput b 数据源数组 styles,使用数组函数 map 返回一个mybtns数组,由5个Myinput子组件组成 子组件:Myinput 绑定 onClick,根据传入的 props.index来判断需设置元素的何种属性 import React,{useRef} from 'react'; import Re

js键盘控制DIV移动

<style type="text/css"> html,body{overflow:hidden;}body{margin:0;padding:0;}pre{color:green;padding:10px 15px;background:#f0f0f0;border:1px dotted #333;font:12px/1.5 Courier New;margin:12px;}span{color:#999;}#box{position:absolute;top:50px

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

<div id="test" style=" border: solid 1px #f00; "></div> <script type="text/javascript"> <!-- //作者:凌陈亮www.lingchenliang.com(QQ:57404811) autodivheight(); function autodivheight(){ //函数:获取尺寸 //获取浏览器窗口高度 var

用js控制css属性的问题

在用js控制css属性时,行内css属性可以任意控制,但若是在<style></style>中写的css属性,均不能用alert读取,但是赋值却有几种现象, 第一种:无法读取,能直接赋值 如下: <!DOCTYPE html> <head> <title>新建网页</title> <meta http-equiv="Content-Type" content="text/html; charset=