zoukankan      html  css  js  c++  java
  • CSS类的操作

    CSS类的操作

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    		<style type="text/css">
    			.b1 {
    				 100px;
    				height: 100px;
    				background-color: skyblue;
    			}
    
    			.b2 {
    				/*  200px; */
    				height: 200px;
    				background-color: aquamarine;
    			}
    		</style>
    		<script type="text/javascript">
    			window.onload = function() {
    				// 获取box
    				var box = document.getElementById("box");
    				// 获取btn01
    				var btn01 = document.getElementById("btn01");
    				// 获取btn02
    				var btn02 = document.getElementById("btn02");
    				// 为btn01绑定单击响应函数
    				btn01.onclick = function() {
    					// 修改box的样式
    					/*
    					通过style属性来修改元素的样式,没修改一个样式,浏览器就需要重新渲染一次页面
    					  这样的执行的性能是比较差的,而且这种形式当我们要修改多个样式时,也不方便
    					*/
    					// box.style.width="200px";
    					// box.style.height="200px";
    					// box.style.backgroundColor="yellow";
    
    
    					// 修改box的class属性
    					/*
    					我们可以通过修改元素的class属性来间接的修改样式
    					只需要一次,即可同时修改多个样式
    					  浏览器只需要重新渲染页面一次,性能比较好
    					  并且这种方式,可以使表现和行为进一步的分离
    					*/
    					toggleClass(box,"b2");
    				}
    				btn02.onclick=function(){
    					removeClass(box,"b2");
    				}
    			};
    			// 定义一个函数,用来向一个元素中添加指定的class属性值
    			/*
    			 - 参数:
    			   obj:要添加class属性的元素
    			   cn:要添加的class值
    			*/
    			function addClass(obj, cn) {
    				// 检查obj中是否含有cn》
    				if (!hasClass(obj, cn)) {
    					obj.className += " " + cn;
    				}
    
    			}
    			/*
    			判断一个元素中是否含有指定的class属性值
    			 - 参数:
    			   obj:
    			   cn:
    			*/
    			function hasClass(obj, cn) {
    				// 判断obj中有没有cn class  
    				// 创建一个正则表达式
    				// var reg=/b2/;
    				var reg = new RegExp("\b" + cn + "\b");
    
    				return reg.test(obj.className);
    
    			}
    			// 删除一个元素中的指定的class属性
    			function removeClass(obj, cn) {
    				// 创建一个正则表达式
    				var reg = new RegExp("\b" + cn + "\b");
    
    				// 删除class
    				obj.className = obj.className.replace(reg, "");
    			}
    			/*
    			toggleClass可以用来切换一个类
    			  - 如果元素中具有该类,则删除
    			  - 如果元素中没有该类,则添加
    			*/
    			function toggleClass(obj,cn){
    				// 判断obj中是否含有cn
    				if(hasClass(obj,cn)){
    					// 有,则删除
    					removeClass(obj,cn);
    				}else{
    					addClass(obj,cn);
    				}
    			}
    		</script>
    	</head>
    	<body>
    		<button id="btn01">点击按钮以后修改box的样式</button><br><br>
    		<button id="btn02">点击按钮以后删除box的样式</button><br><br>
    		<div id="box" class="b1"></div>
    	</body>
    </html>
    
    
  • 相关阅读:
    在vue项目中stylus的安装及使用
    如何在vue中全局引入stylus文件的公共变量
    d3.js在vue项目中的安装及案例
    cytoscape.js在vue项目中的安装及案例
    vue路由router的三种传参方式
    vue项目警告There are multiple modules with names that only differ in casing
    vue+iview实现一行平均五列布局
    JVM 内存对象管理
    JVM 垃圾回收机制
    面试随笔-01
  • 原文地址:https://www.cnblogs.com/SSPOFA/p/12070543.html
Copyright © 2011-2022 走看看