DOM基础2之设置类名及封装
来源:互联网 发布:香港保险 知乎 编辑:程序博客网 时间:2024/06/08 07:26
设置类名
案例:点击按钮显示盒子
<head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> <style> .cls{ width: 200px; height: 200px; background-color: red; } </style></head><body> <input type="button" value="按钮" id="btn" /> <div id="box"></div> <script> //点击按钮显示盒子 var btn=document.getElementById('btn');//先获取按钮事件源 btn.onclick=function () {//给btn添加注册事件 // 给盒子添加类名(显示盒子) // 获取盒子 var box=document.getElementById('box'); //console.log(box);以标签形式输出的。 //console.dir(box);//此处是以对象的形式输出,中有一个classname就是类名。 //之所以不以class作为类名是由于class在js中是保留字,不符合命名规范。 box.className="cls";//给盒子添加类名的形式来触发事件,控制类名 } </script></body>
点击按钮实现盒子显示隐藏切换功能
<head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> <style> #box{ width: 200px; height: 200px; background-color: red; } .show{ display: block;/* 盒子显示 */ } .hide{ display: none;/* 盒子隐藏 */ } </style></head><body>效果:点击按钮实现盒子的显示隐藏切换(切换类名即可)<br /> <input type="button" value="隐藏" id="btn" /> <div id="box"></div> <script> //点击按钮 隐藏盒子 var btn=document.getElementById('btn');//先获取按钮事件源 var box=document.getElementById('box');//要隐藏盒子先获取盒子 btn.onclick=function () {//给btn添加注册事件 //box.className="hide"; //btn.value="显示";//控制btn的value属性 //此处可以做判断:如果按钮的文字是显示,就让盒子显示。如果按钮的文字是隐藏,就让盒子隐藏。 if (btn.value==="隐藏") { box.className="hide"; btn.value="显示"; }else{ box.className="show"; btn.value="隐藏"; }; } </script></body>
显示隐藏二维码案例:
①需求:鼠标经过父盒子 让二维码显示
<head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> <style> #box{ width: 50px; height: 50px; display: block; } .nodeSmall{ width: 50px; height: 50px; background: url(images/bgs.jpg) no-repeat ; position: fixed; right: 10px; top: 40%; } .nodeSmall a{ display: block; width: 50px; height: 50px; } .erweima{ position: absolute; top: 0; left: -150px; } div{ display: block; } .show{ display: block;/* 盒子显示 */ } .hide{ display: none;/* 盒子隐藏 */ } </style> </head><body>显示隐藏二维码<br /><div class="nodeSmall" id="node_small"> <a href="#"></a> <div class="erweima " id="er"><img src="images/456.jpg" alt="" /></div></div> <script>/*需求:鼠标经过父盒子 让二维码显示 鼠标离开父盒子 让二维码隐藏*/ var node=document.getElementById('node_small');//先获取父盒子 //鼠标经过onmouseover node.onmouseover=function () {//绑定事件 er.className="show"; }; //鼠标离开onmouseout node.onmouseout=function () { er.className="hide"; };</script>
以上案例实现了需求,但显示的二维码的位置不符合要求。
以下方式替换类名:
类名本质是一个字符串,替换类名用到的是字符串内置的方法:
str.replace(“要替换的参数”,“要替换成的参数”);不会影响原来的字符串,还需要用原来的str重新接收来实现替换。
<script> //鼠标离开父盒子 让二维码隐藏 var node=document.getElementById('node_small'); node.onmouseover=function () { //er.className="show"; er.className=er.className.replace("hide","show");//获取类名 调用replace,并重新赋值。 }; node.onmouseout=function () { //er.className="hide"; er.className=er.className.replace("show","hide");//获取类名 调用replace,并重新赋值。 };</script>
方法封装:
<script> var node=document.getElementById('node_small'); node.onmouseover=function () { //er.className=er.className.replace("hide","show"); replaceClassName(er,"hide","show"); }; node.onmouseout=function () { //er.className=er.className.replace("show","hide"); replaceClassName(er,"show","hide"); }; //函数功能可以对任意对象的类名进行替换 function replaceClassName(ele,oldStr,newStr){ //要对任意对象的类名进行获取,把对象当做类名传到函数中ele参数。 //传进来那个对象,就对该对象替换。替换元素 //找到任意的字符串ele,把旧的字符串oldStr替换成新的newStr。 ele.className= ele.className.replace(oldStr,newStr); } //replace方法封装有一个缺点,就是在寻找字符串类名时,从前往后匹配时找到相同字符后就停止,并且直接替换。但是一般不会出问题。后续在学习字符串的内置方法时再完善。</script>
replace方法封装函数:
用replaceClassName(er,”hide”,”show”);调用函数。
function replaceClassName(ele,oldStr,newStr){
ele.className= ele.className.replace(oldStr,newStr);
};
0 0
- DOM基础2之设置类名及封装
- Js基础学习之 -- DOM兼容 根据标签、类名获取节点函数封装
- iOS基础:设置App icon图标及修改应用程序名
- okHttp 基础及封装
- DOM基础2之相册案例升级
- JavaScript基础入门 封装DOM 连缀
- javascript基础之DOM
- js之DOM基础
- DOM基础及DOM操作HTML
- 【Ajax】DOM基础及DOM操作HTML
- 黑马程序员_java基础之面向对象封装及继承
- Java语言基础之封装类
- Java基础之--封装
- Java基础之封装
- JavaScript-2-2:DOM(重点),封装类
- 传智播客学习之DOM基础
- Jquery基础之DOM操作
- Jquery基础之DOM操作
- 日常小结-java线程状态的转移
- Android获取屏幕大小的方法
- ScrollView如何判断滑动到底部以及getHeight()方法与getMeasuredHeight()方法的一些理解
- 获取时间戳
- qt 获取文件夹中文件名
- DOM基础2之设置类名及封装
- JSTL-核心标签库
- c/c++有关文件读写的操作
- android 判断耳机是否插入的几种方式
- Rails利用ActiveRecord完成时间相关的条件查询
- Activiti 基础概念
- mahout k-means实战
- raect-native学习(3)
- ArrayList里的removeRange()方法