欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js动态改变css样式

程序员文章站 2022-04-28 23:02:13
...
  • 动态改变页面元素样式:
  1. 使用getElement系列方法访问元素。
  2. 改变样式属性:style属性;className属性。
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="application/javascript" src="js/动态改变css.js"></script>
		<style type="text/css">
			.menu{
				width: 100px;
				height: 30px;
				border-top-left-radius:10px ;
				border-top-right-radius: 10px;
				background-color: darkgray;
				text-align: center;
				padding-top: 4px;
			}
			
			.menuOver{
				background-color: orange;
				width: 100px;
				height: 30px;
				border-top-left-radius:10px ;
				border-top-right-radius: 10px;
				text-align: center;
				padding-top: 4px;
			}
			
			.menuOut{
				background-color: darkgray;
				width: 100px;
				height: 30px;
				border-top-left-radius:10px ;
				border-top-right-radius: 10px;
				text-align: center;
				padding-top: 4px;
			}
			
			.first_ul{
				list-style: none;
				
			}
			
			.first_ul li{
				float: left;
				background-color: #F79337;
				font-size: 14px;
				font-weight: bold;
				color: white;
				border-radius: 5px;		
				width: 70px;
				height: 30px;
				text-align: center;	
				padding-top: 10px;	
			}
			
		</style>
	</head>
	
	<body>
		<!--修改css样式,单击:onclick-->
		<div id="content1">DIV样式</div>
		<input type="button" name="" id="" value="改变样式" onclick="btn1()";/>
		<hr />
		<!--鼠标移入onmouseover移出onmouseout鼠标按钮按下-->
        <div id="menuObj" class="menu" onmouseover="setMenuBgColor(this,1)"; onmouseout="setMenuBgColor(this,2)";>
        	商品类别
        </div>
        <hr />
        <!--同时改变所有li的样式-->
        <ul class="first_ul">
        	<li>首页</li>
        	<li>家用电器</li>
        	<li>手机数码</li>
        	<li>日用百货</li>
        	<li>书籍</li>
        </ul>
	</body>
</html>
function btn1(){
	/*
	 * 改变div元素背景
	 * 元素中间横线去掉,第二个首字母也大写
	 */
	document.getElementById("content1").style.backgroundColor="red";
}

//利用obj参数传入this可以使方法复用
function setMenuBgColor(obj,flag){
	switch(flag){
		case 1:
//			1.通过对象中的style属性来修改css样式效果
//			鼠标移入
//			document.getElementById("menuObj").style.backgroundColor="orange";
//			obj.style.backgroundColor="orange";
//			2.通过类选择器来修改CSS样式效果
			obj.className = "menuOver";		//只需要加样式名,不用.
			break;
		case 2:
//			鼠标移出
//			document.getElementById("menuObj").style.backgroundColor="darkgray";
//			obj.style.backgroundColor="darkgray";		
			obj.className = "menuOut";
			break;
	}
}

window.onload=function(){
//	同时改变所有li的样式
	var objli=document.getElementsByTagName("li");
	for (var i=0;i<objli.length;i++) {
		objli[i].onmouseover=function(){
			this.style.backgroundColor="red";
		}
		objli[i].onmouseout=function(){
			this.style.backgroundColor="#F79337";
		}
	}
}

js动态改变css样式js动态改变css样式

相关标签: javascript css