想要一种JS效果,点击后样式改变,离开后恢复 想要一种JS效果,点击后样式改变,离开后恢复例如菜单,首页 次页当在首页时候,就默认为红色的这种样式,但点击次页后就变成:首页 次页然后回到首页又变成,首页 次页求高手赐教,JS+CSS 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你去研究一下jquery它里面有实现。 这个涉及到你的页面设计方式和页面的处理的方法如果你用的一些框架类的开发平台,无疑会有个公共模板一说,这样的话就说明需要特殊处理如果你用的是页面刷新处理的方法又不同,起码的一点是页面刷新了就需要在onload的地方来调整 我教你一个最简单的方法<script type="text/javascript"> var j_url = location.pathname; j_url = j_url.toLowerCase(); var j_search = location.search; j_search = j_search.toLowerCase(); var turl = j_url + j_search; function dh(){ if(turl == "/funlin/index.php") { document.getElementById("sdh1").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; } else if(turl == "/funlin/aboutus.php?ArticleID=57"){ document.getElementById("sdh2").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; } else if(j_url == "/funlin/soft_classn.php" || j_url == "/funlin/soft_show.php"){ document.getElementById("sdh3").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; } else if(j_url == "/funlin/soft_classnw.php"){ document.getElementById("sdh4").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; } else if(j_url == "/funlin/guest.php"){ document.getElementById("sdh6").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; } else if(j_url == "/funlin/Article_Class.php" || j_url == "/funlin/Article_Show1.php"){ document.getElementById("sdh5").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; } else if(turl == "/funlin/aboutus.php?ArticleID=54"){ document.getElementById("sdh7").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; } } dh()</script> 这样的结构不太合理吧,这么多ELSE IF看着头晕,不如改成switch结构! 你是指document.getElementById("sdh7").class = "style"吗? 嗯谢谢falizixun2的指点。改成switch确实会好点。 else if(turl == "/funlin/aboutus.php?ArticleID=57"){这句的意义是? 浏览器地址栏 location.pathname+location.search部分的值如果是/funlin/aboutus.php?ArticleID=57就执行其后的语句! 这个是因为导航上有两个栏目都是用的/funlin/aboutus.php这个页面只是后面的ArticleID参数不同,为了能区分出来 还是要把下面的所以都改成小写才行。 a34020249,修改了你的代码结构,思路版权依然是你的,个人感觉:这样看起来结构更清晰,修改更方便一点:<script type="text/javascript"> var j_url = location.pathname; j_url = j_url.toLowerCase(); var j_search = location.search; j_search = j_search.toLowerCase(); var turl = j_url + j_search; function dh(){ switch(turl) { case "/funlin/index.php": document.getElementById("sdh1").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; break; case "/funlin/aboutus.php?ArticleID=57": document.getElementById("sdh2").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; break; case "/funlin/soft_classn.php"||"/funlin/soft_show.php": document.getElementById("sdh3").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; break; case "/funlin/soft_classnw.php": document.getElementById("sdh4").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; break; case "/funlin/guest.php": document.getElementById("sdh6").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; break; case "/funlin/Article_Class.php" || "/funlin/Article_Show1.php": document.getElementById("sdh5").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; break; case "/funlin/aboutus.php?ArticleID=54": document.getElementById("sdh7").style.backgroundImage = "url('pro_drop_1/blank_over.gif')"; break; } dh()</script> <style type="text/css"> #myUl { width:800px; height:30px; overflow:hidden; margin:0; padding:0; } .myLi_A { width:100px; line-height:30px; font-size:14px; float:left; color:Red; text-align:center; background-color:Gray; list-style:none; } .myLi_B { width:100px; line-height:30px; font-size:14px; float:left; color:blue; text-align:center; background-color:Maroon; list-style:none; } </style> <script type="text/javascript"> function $(id) { return document.getElementById(id); } function navCheck(num) { for (var i = 1; i < 7; i++) { if (num == i) { continue; } $("myli" + i).className = "myLi_B"; } $("myli" + num).className = "myLi_A"; } </script>------------------------------------- <ul id="myUl"> <li id="myli1" onclick="navCheck(1)" class="myLi_A">首页</li> <li id="myli2" onclick="navCheck(2)" class="myLi_B">首页</li> <li id="myli3" onclick="navCheck(3)" class="myLi_B">首页</li> <li id="myli4" onclick="navCheck(4)" class="myLi_B">首页</li> <li id="myli5" onclick="navCheck(5)" class="myLi_B">首页</li> <li id="myli6" onclick="navCheck(6)" class="myLi_B">首页</li> </ul> <style>#a_Checked{color:red;}</style> <div class="sidebar" id="div_Sidebar"> <div class="item" > <h6>用户管理</h6> <ul> <li><a href="/Manager/User/UserList.aspx">用户列表</a></li> <li><a href="/Manager/User/AddUser.aspx">添加用户</a></li> <li><a href="/Manager/User/UpdatePassword.aspx">修改密码</a></li> <li><a href="/Manager/User/Safety.aspx">设置密码保护</a></li> <li><a href="javascript:;" onclick="if(confirm('你真的要退出系统吗?')){document.location.href='/Manager/Logon.aspx?out=true';}" >安全退出</a></li> </ul> </div> <div class="item" > <h6>公司管理</h6> <ul> <li><a href="/Manager/Company/CompanyList.aspx">公司列表</a></li> </ul> </div> </div> window.onload=function(){var div_Sidebar = document.getElementById('div_Sidebar'); var menuList = div_Sidebar.getElementsByTagName('a'); var url = document.location.href; var hrefUrl = ''; if(menuList==null || typeof(menuList)=='undefined') { return;} var index=0; for(;index < menuList.length;index++) { hrefUrl = menuList[index].href; hrefUrl = hrefUrl.substr(hrefUrl.lastIndexOf('/')+1); if(hrefUrl!='' && hrefUrl != '/') { if(url.indexOf(hrefUrl) > 0 ) { break; } } } if(index < menuList.length) { menuList[index].id = 'a_Checked'; }};加载事件,判断url ,设置对应的标签的样式就可以了 first.htm 和 second.htm代码一样,如下:<html><head><style>a:link{ text-decoration: none;}a:active{ text-decoration: none;}a:hover{ text-decoration: none;}a:visited{ text-decoration: none;}</style><script>var linkList = [["fPage","first.htm"],["sPage","second.htm"]];function judge(){ for(i=0;i<linkList.length;i++) { if(linkList[i][1].toUpperCase() == GetCurrentPage().toUpperCase()) { document.getElementById(linkList[i][0]).style.color = "red"; } else document.getElementById(linkList[i][0]).style.color = ""; }}window.onload = function(){judge();};function GetCurrentPage() { var u = document.location.href; var i = u.indexOf('?'); if (i > 0) u = u.substring(0, u.indexOf('?')); var info = u.split('/'); var page_info = info[info.length - 1].split('?'); return page_info[0];}</script></head><body><a href="first.htm" id="fPage">首页</a><a href="second.htm" id="sPage">第二页</a></body></html> 有这么复杂吗?一个非常简单的小功能,几行代码的事先定义一个样式,比如:.focus{color:red}然后给上述的首页次页等绑定js方法,比如myfocus(this) (注意:这个onclick方法调用不要放在a的javascript:focus(this)这种伪js协议中,这里面的this不一样),这里写出jQuery的代码,其他类似:function myfocus(self){ $('.focus').removeClass('focus'); $(self).addClass('focus');} 关于jquery框架的一个问题,知道的来说下 window.open或则利用模态窗口传递已个from表单 在非IE浏览器中,带下滑线的变量如何访问 获取Javascript+VML制作的曲线上任意坐标的问题!! 时间判断 二级联动,郁闷死我了,以前都好好的,竟然提示countlength111不是对象,js调试真的是有问题啊 在EXT中通过vtype属性调用多个检查应该怎么用?? 屏蔽<a>href属性的问题 弹出页面的问题~(100分) 请教一个复选框 下拉列表的 js代码 JS无法调用 菜鸟求解答
var j_url = location.pathname;
j_url = j_url.toLowerCase();
var j_search = location.search;
j_search = j_search.toLowerCase();
var turl = j_url + j_search;
function dh(){
if(turl == "/funlin/index.php") {
document.getElementById("sdh1").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
} else if(turl == "/funlin/aboutus.php?ArticleID=57"){
document.getElementById("sdh2").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
} else if(j_url == "/funlin/soft_classn.php" || j_url == "/funlin/soft_show.php"){
document.getElementById("sdh3").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
} else if(j_url == "/funlin/soft_classnw.php"){
document.getElementById("sdh4").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
} else if(j_url == "/funlin/guest.php"){
document.getElementById("sdh6").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
} else if(j_url == "/funlin/Article_Class.php" || j_url == "/funlin/Article_Show1.php"){
document.getElementById("sdh5").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
} else if(turl == "/funlin/aboutus.php?ArticleID=54"){
document.getElementById("sdh7").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
}
}
dh()
</script>
var j_url = location.pathname;
j_url = j_url.toLowerCase();
var j_search = location.search;
j_search = j_search.toLowerCase();
var turl = j_url + j_search;
function dh(){
switch(turl)
{
case "/funlin/index.php":
document.getElementById("sdh1").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
break;
case "/funlin/aboutus.php?ArticleID=57":
document.getElementById("sdh2").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
break;
case "/funlin/soft_classn.php"||"/funlin/soft_show.php":
document.getElementById("sdh3").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
break;
case "/funlin/soft_classnw.php":
document.getElementById("sdh4").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
break;
case "/funlin/guest.php":
document.getElementById("sdh6").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
break;
case "/funlin/Article_Class.php" || "/funlin/Article_Show1.php":
document.getElementById("sdh5").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
break;
case "/funlin/aboutus.php?ArticleID=54":
document.getElementById("sdh7").style.backgroundImage = "url('pro_drop_1/blank_over.gif')";
break;
}
dh()
</script>
#myUl
{
width:800px;
height:30px;
overflow:hidden;
margin:0;
padding:0;
}
.myLi_A
{
width:100px;
line-height:30px;
font-size:14px;
float:left;
color:Red;
text-align:center;
background-color:Gray;
list-style:none;
}
.myLi_B
{
width:100px;
line-height:30px;
font-size:14px;
float:left;
color:blue;
text-align:center;
background-color:Maroon;
list-style:none;
}
</style>
<script type="text/javascript">
function $(id) { return document.getElementById(id); }
function navCheck(num) {
for (var i = 1; i < 7; i++) {
if (num == i) {
continue;
}
$("myli" + i).className = "myLi_B";
}
$("myli" + num).className = "myLi_A";
}
</script>
-------------------------------------
<ul id="myUl">
<li id="myli1" onclick="navCheck(1)" class="myLi_A">首页</li>
<li id="myli2" onclick="navCheck(2)" class="myLi_B">首页</li>
<li id="myli3" onclick="navCheck(3)" class="myLi_B">首页</li>
<li id="myli4" onclick="navCheck(4)" class="myLi_B">首页</li>
<li id="myli5" onclick="navCheck(5)" class="myLi_B">首页</li>
<li id="myli6" onclick="navCheck(6)" class="myLi_B">首页</li>
</ul>
#a_Checked{color:red;}
</style>
<div class="sidebar" id="div_Sidebar">
<div class="item" >
<h6>用户管理</h6>
<ul>
<li><a href="/Manager/User/UserList.aspx">用户列表</a></li>
<li><a href="/Manager/User/AddUser.aspx">添加用户</a></li>
<li><a href="/Manager/User/UpdatePassword.aspx">修改密码</a></li>
<li><a href="/Manager/User/Safety.aspx">设置密码保护</a></li>
<li><a href="javascript:;" onclick="if(confirm('你真的要退出系统吗?')){document.location.href='/Manager/Logon.aspx?out=true';}" >安全退出</a></li>
</ul>
</div>
<div class="item" >
<h6>公司管理</h6>
<ul>
<li><a href="/Manager/Company/CompanyList.aspx">公司列表</a></li>
</ul>
</div>
</div>
window.onload=function(){
var div_Sidebar = document.getElementById('div_Sidebar');
var menuList = div_Sidebar.getElementsByTagName('a');
var url = document.location.href;
var hrefUrl = '';
if(menuList==null || typeof(menuList)=='undefined')
{ return;}
var index=0;
for(;index < menuList.length;index++)
{
hrefUrl = menuList[index].href;
hrefUrl = hrefUrl.substr(hrefUrl.lastIndexOf('/')+1);
if(hrefUrl!='' && hrefUrl != '/')
{
if(url.indexOf(hrefUrl) > 0 )
{
break;
}
}
}
if(index < menuList.length)
{
menuList[index].id = 'a_Checked';
}
};加载事件,判断url ,设置对应的标签的样式就可以了
<html>
<head>
<style>
a:link
{
text-decoration: none;
}
a:active
{
text-decoration: none;
}
a:hover
{
text-decoration: none;
}
a:visited
{
text-decoration: none;
}
</style>
<script>
var linkList = [["fPage","first.htm"],["sPage","second.htm"]];
function judge()
{
for(i=0;i<linkList.length;i++)
{
if(linkList[i][1].toUpperCase() == GetCurrentPage().toUpperCase())
{
document.getElementById(linkList[i][0]).style.color = "red";
}
else
document.getElementById(linkList[i][0]).style.color = "";
}
}window.onload = function(){judge();};function GetCurrentPage() {
var u = document.location.href;
var i = u.indexOf('?');
if (i > 0)
u = u.substring(0, u.indexOf('?'));
var info = u.split('/');
var page_info = info[info.length - 1].split('?');
return page_info[0];
}
</script>
</head>
<body>
<a href="first.htm" id="fPage">首页</a>
<a href="second.htm" id="sPage">第二页</a>
</body>
</html>
先定义一个样式,比如:.focus{color:red}然后给上述的首页次页等绑定js方法,比如myfocus(this) (注意:这个onclick方法调用不要放在a的javascript:focus(this)这种伪js协议中,这里面的this不一样),这里写出jQuery的代码,其他类似:function myfocus(self){
$('.focus').removeClass('focus');
$(self).addClass('focus');
}