用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';
}
}

解决方案 »

  1.   

    我觉得这个用ajax实现比较好,ajax不刷新页面
    你可以在js里设一个flag,默认可以为0,如果点击其中一个li,flag=1;
    然后用ajax发送请求并返回数据,然后再进行判断flag,设置页面的样式
    关键是ajax不刷新页面这点比较好
      

  2.   

    用ajax 提交请求是最好的方法!如果你非要用回发事件
    把你点击的li的索引保存到viewstae或者session
    页面加载时,夺取这个索引来设置背景颜色
      

  3.   


    在window.onload中运行上面的js方法,在后台传回设置过颜色的值
    设置到div上即可
      

  4.   

    document.getElementById(objId).style.backgroundColor='#A0CE67';