js动态改变css样式
程序员文章站
2022-04-28 23:02:13
...
- 动态改变页面元素样式:
- 使用getElement系列方法访问元素。
- 改变样式属性: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";
}
}
}
上一篇: php中关于验证码无法显示的问题解决办法