用div+ul+li做成的导行。 要实现的功能是:选哪个选项查询数据后,返回到当前页面,改变背景颜色。。现在我的做法是点击时可以改变颜色,但是查询时,返回数据刷新了页面,所以背景颜色还是以前的样式。请指教。
<div class="elist_s" id="elist_s">
<ul>
<li id="eli_a" onclick='aa(this.id)'><a href="aaa.html">aaa (45)</a</li>
<li id="eli_b" onclick='aa(this.id)'><a href="bbb.html">bbb(45)</a</li>
<li id="eli_c" onclick='aa(this.id)'><a href="ccc.html">ccc(45)</a</li>
<li id="eli_d" onclick='aa(this.id)'><a href="ddd.html">ddd(45)</a</li>
</ul></div>
function aa(objId){
var elementsObj=document.getElementsByTagName("li");
for(var i=0;i<elementsObj.length;i++){
if(elementsObj[i].id==objId)
document.getElementById(objId).style.background='#A0CE67';
else
document.getElementById(elementsObj[i].id).style.background='#666666';
}
}
<div class="elist_s" id="elist_s">
<ul>
<li id="eli_a" onclick='aa(this.id)'><a href="aaa.html">aaa (45)</a</li>
<li id="eli_b" onclick='aa(this.id)'><a href="bbb.html">bbb(45)</a</li>
<li id="eli_c" onclick='aa(this.id)'><a href="ccc.html">ccc(45)</a</li>
<li id="eli_d" onclick='aa(this.id)'><a href="ddd.html">ddd(45)</a</li>
</ul></div>
function aa(objId){
var elementsObj=document.getElementsByTagName("li");
for(var i=0;i<elementsObj.length;i++){
if(elementsObj[i].id==objId)
document.getElementById(objId).style.background='#A0CE67';
else
document.getElementById(elementsObj[i].id).style.background='#666666';
}
}
你可以在js里设一个flag,默认可以为0,如果点击其中一个li,flag=1;
然后用ajax发送请求并返回数据,然后再进行判断flag,设置页面的样式
关键是ajax不刷新页面这点比较好
把你点击的li的索引保存到viewstae或者session
页面加载时,夺取这个索引来设置背景颜色
在window.onload中运行上面的js方法,在后台传回设置过颜色的值
设置到div上即可