js基础4-应用案例
2017-03-02 10:14
441 查看
1. switch
2. 下拉菜单, onchange事件 ,下拉菜单直接获取索引号this.value,这种写法必须掌握,替代switch
另一种写法:掌握!!!
效果:
3. 星座运势 重点掌握案例 星星的制作以及下拉菜单改变
星星的制作:一个父亲span里面包含一个儿子span,儿子span背景宽度变化
4.
添加 push unshift
删除 pop shift
连接 concat
数组转字符 join
字符转数组 split
5. DOM
js 由 ECMAJavaScript DOM BOM
DOM树
而每一个HMTL标签都是一个元素节点。
标签中的文字则是文字节点。
标签的属性是属性节点。
6. 封装自己class类 面试题!!!
7. 访问关系
父节点 parentNode
兄弟节点
孩子节点 面试题!!
火狐、谷歌等高版本会把换行也看做是子节点
利用 nodeType == 1 时才是元素节点 来获取元素节点
children 重要 选取所有的孩子(只有元素节点)
ie 678 包含注释节点 这个要避免开。
8. dom节点操作
创建节点 creatElement( ) 插入节点appendChild() insertBefore() 移除节点removeChild() 克隆节点cloneChild()
var val = txt.value; // 点击完之后才开始查询表单信息,获取表单的值一定是点击完之后才有
<script> //需求:点击按钮,查询input中输入的水果价格。 //步骤: //1.获取事件源和input标签 //2.绑定事件 //3.书写事件驱动程序 //(1).判断是什么水果。(如果没有这个水果给他一个错误提示) //1.获取事件源和input标签 var txt = document.getElementById("txt"); var btn = document.getElementById("btn"); //2.绑定事件 btn.onclick = function () { var val = txt.value; // 点击完之后才开始查询表单信息,获取表单的值一定是点击完之后才有 //3.书写事件驱动程序 //(1).判断是什么水果。(如果没有这个水果给他一个错误提示) switch (val){ case "苹果": alert("今天苹果的价格是:20元/两 !"); break; case "香蕉": alert("今天香蕉的价格是:40元/两 !"); break; case "大鸭梨": alert("今天大鸭梨的价格是:100元/两 !"); break; case "猕猴桃": alert("猕猴桃你买不起,你整个人都留下来吧!"); break; default : alert("去隔壁超市看看吧,我家没有!"); break; } } </script>
2. 下拉菜单, onchange事件 ,下拉菜单直接获取索引号this.value,这种写法必须掌握,替代switch
<select name="" id="sel"> <option value="1">春意盎然</option> <option value="2">夏日炎炎</option> <option value="3">秋风瑟瑟</option> <option value="4">冬雪皑皑</option> </select>
<script> //需求:更改select标签的值,联动更改背景。 //步骤: //1.获取事件源 //2.绑定事件 //3.书写事件驱动程序 //(1).判断,触动事件的标签的值是多少,更改背景图 //1.获取事件源 var sel = document.getElementById("sel"); var bd = document.body; //2.绑定事件 sel.onchange = function () { var val = this.value; // 点击完之后才开始查询表单信息,获取表单的值一定是点击完之后才有 //3.书写事件驱动程序 //(1).判断,触动事件的标签的值是多少,更改背景图 switch (val){ case "1": bd.style.backgroundImage = "url(images/chun1.jpg)"; break; case "2": bd.style.backgroundImage = "url(images/xia1.jpg)"; break; case "3": bd.style.backgroundImage = "url(images/qiu1.jpg)"; break; case "4": bd.style.backgroundImage = "url(images/dong1.jpg)"; } } </script>
另一种写法:掌握!!!
<script type="text/javascript"> window.onload = function(){ var select = document.getElementById("select"); var arr = ["url(images/chun1.jpg)","url(images/xia1.jpg)","url(images/qiu1.jpg)","url(images/dong1.jpg)"]; select.onchange = function(){ document.body.style.backgroundImage = arr[this.value]; } /*select.onchange = function(){ var val = this.value; switch(val){ case "1" : alert("1"); document.body.style.backgroundImage = "url(images/chun1.jpg)"; break; case "2" : alert("2"); document.body.style.backgroundImage = "url(images/xia1.jpg)"; break; case "3" : alert("3"); document.body.style.backgroundImage = "url(images/qiu1.jpg)"; break; case "4" : alert("4"); document.body.style.backgroundImage = "url(images/dong1.jpg)"; break; default: alert("aa"); } }*/ } </script> 4000 ;
效果:
3. 星座运势 重点掌握案例 星星的制作以及下拉菜单改变
星星的制作:一个父亲span里面包含一个儿子span,儿子span背景宽度变化
<style type="text/css"> .box{ width: 350px; height: 250px; border: 1px solid #ccc; } .box .dt{ padding-left: 10px; line-height: 35px; font-weight: 700; } .box .dd{ padding: 10px; } .box .dd .dd-t{ overflow: hidden; } .box .dd .dd-t .right{ float: left; margin-left: 10px; } .box .dd .dd-t .icon{ width: 50px; height: 50px; float: left; background: url(images/xingzuo.png) no-repeat; } .box .dd .dd-t .right .yunshi{ width: 80px; height:13px; display: inline-block; background: url(images/star.png) no-repeat; position: relative; } .box .dd .dd-t .right .yunshi .star{ width: 64px; height: 13px; position: absolute; top: 0; left: 0; background: url(images/star.png) no-repeat left bottom; } </style>
<script type="text/javascript"> window.onload = function(){ function $id(id){return document.getElementById(id)}; var arr = ["白羊座内容","水平座内容","双子座内容"]; var star =[3,7,10]; $id("select").onchange = function(){ $id("content").innerHTML = arr[this.value]; $id("star").style.width = ""+(star[this.value] * 8)+"px"; $id("icon").style.backgroundPosition = "0 "+(-50*this.value)+"px"; } } </script>
<body> <div class="box"> <div class="dt">星座运势</div> <div class="dd"> <div class="dd-t"> <div class="icon" id="icon"></div> <div class="right" > <select id="select"> <option value="0">白羊座1-3</option> <option value="1">水瓶座4-6</option> <option value="2">双子座7-9</option> </select> <div class="boxstar"> <span>今日运势:</span> <span class="yunshi"> <span class="star" id="star"></span> </span> </div> </div> </div> <div class="dd-b" id="content"> 白羊座内容 </div> </div> </div> </body>
4.
添加 push unshift
删除 pop shift
连接 concat
数组转字符 join
字符转数组 split
5. DOM
js 由 ECMAJavaScript DOM BOM
DOM树
而每一个HMTL标签都是一个元素节点。
标签中的文字则是文字节点。
标签的属性是属性节点。
6. 封装自己class类 面试题!!!
7. 访问关系
父节点 parentNode
兄弟节点
<script type="text/javascript"> window.onload = function(){ var one = document.getElementById("one"); var div = one.nextElementSibling || one.nextSibling; //必须先写 正常浏览器 后写 ie678 div.style.backgroundColor = "pink"; } </script>
<body> <ul> <li id="one">123</li> <li>1234</li> <li>1234</li> <li>1234</li> <li>1234</li> <li>1234</li> <li>1234</li> <li>1234</li> <li>1234</li> <li>1234</li> <ul> </body>
孩子节点 面试题!!
火狐、谷歌等高版本会把换行也看做是子节点
利用 nodeType == 1 时才是元素节点 来获取元素节点
children 重要 选取所有的孩子(只有元素节点)
ie 678 包含注释节点 这个要避免开。
8. dom节点操作
创建节点 creatElement( ) 插入节点appendChild() insertBefore() 移除节点removeChild() 克隆节点cloneChild()
<script type="text/javascript"> window.onload = function(){ var demo = document.getElementById("demo"); var childrens = demo.children; //创建节点,生成一个新的div标签 var firstdiv = document.createElement("div"); //添加节点 appendChild ,添加孩子 放到盒子的 最后面。 demo.appendChild(firstdiv); //添加节点 insertBefore ,添加到前面 var text = document.createElement("div"); demo.insertBefore(text, childrens[0]); // 如果第二个参数 为 null 则 默认这新生成的盒子放到最后面。 var test = document.createElement("nav"); demo.insertBefore(test,null); //移除节点 var da = document.getElementById("xiongda"); demo.removeChild(da); //克隆节点 括号里面可以跟参数 , 如果 里面是 true 深层复制, 除了复制本盒子,还复制子节点 如果为 false 浅层复制 只复制 本节点 不复制 子节点。 demo.appendChild(childrens[0].cloneNode()); demo.parentNode.appendChild(demo.cloneNode(true)); } </script>
<div id="demo"> <div id="xiongda"> </div> </div>
相关文章推荐
- js基础2应用案例
- js基础11应用案例
- js基础5应用案例
- js基础9应用案例
- js基础3应用案例
- js基础10-应用案例
- js基础8-应用案例
- JS-运动基础——案例应用:淡入淡出效果
- js基础1应用案例
- JS脚本的基础应用
- nodeJS+express+Jade写一个局域网聊天应用(node基础)
- UI基础-基础控件-0324-浏览图片案例与改进版(UILabel、UIButton、UIImageView的应用)
- JS零基础一步一步做应用全记录
- Js基础学习和应用
- JS基础——自定义属性的应用1
- postgresql最全整理资料,PostgreSQL 30天 培训视频(SQL基础,备份恢复,HA,服务端编程,大数据,内核,应用案例)
- UI基础-基础控件-0323-几个常用属性的应用-btn小案例
- JS基础——索引值应用2
- C++语言基础 例程 二进制文件应用案例
- 读书笔记_UML基础,案例与应用