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

请问下 这两个函数 怎么才能 合并成一个函数 调用只用传id就行了

function zhen_z()
{
    var oDiv=document.getElementById('zhen_z');
   var input=document.getElementsByTagName('input');
   var a=oDiv.getElementsByTagName('a');
    var close1=document.getElementById('close');

close1.onclick=function()
{
oDiv.style.display="none";
}
   input[0].onclick=function(ev)
   {

   var oev=ev||event;
   if(oDiv.style.display=="none")
   {
        oDiv.style.display="block";
   for(var i=0;i<a.length;i++)
   {
   a[i].onclick=function()
   {
          input[0].value=this.innerHTML;
          oDiv.style.display="none";
          return false;
   }
   }
   }
   else
   {
   oDiv.style.display="none";
   }
   oev.cancelBubble=true;
   }
}
function zhen_zz()
{
    var z_oDiv=document.getElementById('zhen_zz');
    var input=document.getElementsByTagName('input');
    var z_a=z_oDiv.getElementsByTagName('a');
    var z_close1=document.getElementById('close2');

z_close1.onclick=function()
{
z_oDiv.style.display="none";
}
   input[6].onclick=function(ev)
   {

   var oev=ev||event;
   if(z_oDiv.style.display=="none")
   {
        z_oDiv.style.display="block";
   for(var i=0;i<z_a.length;i++)
   {
   z_a[i].onclick=function()
   {
          input[6].value=this.innerHTML;
          z_oDiv.style.display="none";
          return false;
   }
   }
   }
   else
   {
   z_oDiv.style.display="none";
   }
   oev.cancelBubble=true;
   }
}

------解决方案--------------------
我上面写的是一个函数
只是根据你的情况需要执行两次
而不是调用两个函数

如果你需要做成这样 -- zhen("zhen_z","close","zhen_zz","close2");
其实你想要的跟你之前实现了的是类似的
你只需要把两个函数里面的内容合并在一个函数里面就可以了

只是你把id全部传进来然后在一个函数里面执行而已
代码量还是需要那么多