//第一行不就是获取第一个dl吗,那么第7行的时候要付给全局oldobj时,不就成了付给第一个了,这值其它的不就取不到了
//还有就是第4行的判断,这个不是永远都是true吗,这判断不就没意思了,这个判断是为了什么,求解~~~新手
<script type="text/javascript">
1. var oldobj = document.getElementById("showproduct_box").getElementsByTagName("dl")[0];
2. function onlickFirstctg(obj) {
3. obj.className = oldobj.className.indexOf("productItem") > -1 ? "visible productItem" : "visible";
4. if (oldobj != null) {
5. oldobj.className = oldobj.className.indexOf("productItem") > -1 ? "productItem" : "";
6. }
7. oldobj = obj;
}
</script>
<div id="showproduct_box">
<dl>
<dt>百度</dt>
<dd>小百度<dd>
</dl>
<dl>
<dt>谷歌</dt>
<dd>小谷歌<dd>
</dl>
</div>
oldobj的作用就是存储上一次点击的对象。
就代码而言,这里if里是永远为真,抛开代码去想,如果是第一次点击肯定不需要设置上次点击对象样式。
只是这里默认把第一个dl当作上次点击对象。
光看代码换个写法你又纠结了。。。
感觉是个问题代码 第四行永远都是true