用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';
}
}
解决方案 »
- Extjs 如何做一个日程管理的界面
- 将50个随机数赋予数组,确保数组内的元素值不重复。
- 救命,一个bug,搞了半天,知道问题在哪,可是不知道怎么该..
- 如何让层一直在整个网页的最下面
- 一排 span 都是 白色背景 点击的这个变红色 别的还原成白色
- 关闭窗口的时候,不要弹出哪个确认框。怎么实现呀
- 对象内部事件的引用方法是什么
- 该如何实现这个效果,请高手指教
- 高手看看问题处在哪,不能正常拖动
- Extjs 4.2 rowEditing plugin buttons显示位置错误
- 以下关于表单的代码在ff中正常,ie中异常,怎么解决?
- 推荐!!!【ezj】一款国产JavaScript 框架,使用体验
你可以在js里设一个flag,默认可以为0,如果点击其中一个li,flag=1;
然后用ajax发送请求并返回数据,然后再进行判断flag,设置页面的样式
关键是ajax不刷新页面这点比较好
把你点击的li的索引保存到viewstae或者session
页面加载时,夺取这个索引来设置背景颜色
在window.onload中运行上面的js方法,在后台传回设置过颜色的值
设置到div上即可