日期:2014-05-16  浏览次数:20358 次

Jquery 显示隐藏Div逻辑问题 求大神指教
页面都很多动态拼接生成的button,onclick事件调用同一函数,该函数用来实现一个Div的显示隐藏。希望这个函数可以实现点击
btn1时显示div,再次点击btn1则隐藏div。我再次点击btn2,如果DIV已经显示,则不隐藏,如果隐藏,则显示。

现在问题是我不知道怎么判断是否点击的是同一按钮,或者说我怎么记录我上次点击的按钮和本次点击的按钮对比,如果同一按钮则正常显示隐藏,如果不是同一按钮,则看DIV是否已经显示


------解决方案--------------------
HTML code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html lang="en">
 <head>
     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title></title>
     <script type="text/javascript">
         var _btn ;//记录上次点击的按钮
         function togglediv(obj,divid)
         {
             var key = obj.value;
             var divobj = document.getElementById(divid);
             if(key == _btn||typeof(_btn) =="undefined")
             {
                 divobj.style.display=divobj.style.display==""?"none":"";
             }else{
                 divobj.style.display="";
             }
             _btn = key;
             
         }
     </script>
 </head>
 <body>
     <div id="test">测试</div>
     <input type="button" value="bt1" onclick="togglediv(this,'test')">
     <input type="button" value="bt2" onclick="togglediv(this,'test')">
     <input type="button" value="bt3" onclick="togglediv(this,'test')">
 </body>
 </html>