html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />
<title>js控制按钮样式切换</title>
<link href="css/my.css" rel="stylesheet">
</head>
<script type="text/javascript">
//左边按钮的点击事件
window.onload = function(){
var arr = document.getElementsByTagName('button')
for(var i = 0i<arr.lengthi++){
arr[i].onclick = function(){
//this是当前激活的按钮,在这里可以写对应的操作
if(this.className == 'btn1'){
this.className = 'btn2'
var name = this.id
var btn = document.getElementsByClassName('btn2')
for(var j=0j<btn.lengthj++){
if(btn[j].id!=name){
btn[j].className = 'btn1'
}
}
}
}
}
}
</script>
<body>
<div id="main" style="margin:auto 0">
<!--四个按钮-->
<div style="margin-top:2em">
<div style="width:20%"><button id = "1" type = "button">按钮1</button></div>
<div style="width:20%"><button id = "2" type = "button">按钮2</button></div>
<div style="width:20%"><button id = "3" type = "button">按钮3</button></div>
<div style="width:20%"><button id = "4" type ="button">按钮4</button></div>
</div>
</div>
</body>
</html>
假设有div元素<div id="mydiv" class="css1">,和两个样式: .css1{} .css2{}(1)移除和添加样式分别是$("mydiv").removeClass("css1") 和$("mydiv").addClass("css1")
(2)如果是换了样式之后,想换回原来的样式,即是切换样式,那么就涉及到一个判断当前样式的问题,此时可以使用方法hasClass(),该方法是判断元素当前是否含有某样式。
(3)所以根据1、2可以实现一个点击切换样式的效果,示例代码如下:
<script type="text/javascript">
$("#mydiv").click(function () {
if ($(this).hasClass("css1")) {
$(this).removeClass("css1")
$(this).addClass("css2")
} else if ($(this).hasClass("css")) {
$(this).removeClass("css2")
$(this).addClass("css1")
}
})
</script>
(手写不易,望采纳!)
<style type="text/css">#mydiv{
width:400px
height:300px
border:2px solid gray
}
.s{
color:red
font-size:20px
}
</style>
<script type="text/javascript">
function clickMe(){
var div=document.getElementById("mydiv")
var className=div.className
if(className!=""){
div.className=""
}else{
div.className="s"
}
}
</script>
<div id="mydiv">
这是一个层
</div>
<input type="button" value="切换样式" onclick="clickMe()" />