同一页面调用js文件函数同名引起冲突的问题,如何解决 - Web 开发 / Ajax
主页面调用两个js文件,显示两个新闻模块,代码如下:<script type="text/javascript" src="hp/modcnt_1.js"></script> <script type="text/javascript" src="hp/modcnt_2.js"></script>;其中modcnt_1.js文件代码如下:	function initIt()
	             {	
		    pic("wz.asp?t="+new Date());
	             }
	            onload = initIt;
	            var xmlhttp=false;
      function GetXmlHttp(){
          if(window.XMLHttpRequest){
            xmlhttp=new XMLHttpRequest();
          }else if(window.ActiveXObject){
            xmlhttp=new ActiveXObject("Microsoft.XMLHttp");
         }		  
         return xmlhttp;
      }
	 //主要函数httpurl为你要调用的URL地址
      function pic(httpurl){
         GetXmlHttp();
         var url=httpurl;
         xmlhttp.onreadystatechange=callback;
         xmlhttp.open("get",url,true);
         xmlhttp.send(null);
      }
	 //返回值函数yj为前台调用DIV的ID
      function callback(){
         var objdiv1=document.getElementById(yj);
				if(xmlhttp.readyState==1){
					objdiv1.innerHTML="正在加载数据";
				}
				if(xmlhttp.readyState==4&&xmlhttp.status==200){
					var info=xmlhttp.responseText;
					objdiv1.innerHTML=info;
				}
      }
modcnt_2.js文件只是更改了变量yj已经wz.asp,但是两个新闻模块只能加载一个;考虑到函数重名冲突问题,将2.js里面的函数全部改名,还是不行;请各位大大帮忙解决,急用!谢谢了县
------解决方案--------------------
其中modcnt_1.js文件代码如下: function initIt()  
            {  
   pic("wz1.asp?t="+new Date(),"div1");  
   pic("wz2.asp?t="+new Date(),"div2");  
            }  
           onload = initIt;  
           var xmlhttp=false;  
    function GetXmlHttp(){  
        if(window.XMLHttpRequest){  
          xmlhttp=new XMLHttpRequest();  
        }else if(window.ActiveXObject){  
          xmlhttp=new ActiveXObject("Microsoft.XMLHttp");  
       }      
       return xmlhttp;  
    }  
  //主要函数httpurl为你要调用的URL地址  
    function pic(httpurl,objid){  
       GetXmlHttp();  
       var url=httpurl;  
       xmlhttp.onreadystatechange=callback(objid);  
       xmlhttp.open("get",url,true);  
       xmlhttp.send(null);  
    }  
  //返回值函数yj为前台调用DIV的ID  
    function callback(objid){  
       var objdiv1=document.getElementById(objid);  
if(xmlhttp.readyState==1){  
objdiv1.innerHTML="正在加载数据";  
}  
if(xmlhttp.readyState==4&&xmlhttp.status==200){  
var info=xmlhttp.responseText;  
objdiv1.innerHTML=info;  
}  
    }  
只要载入一个就可以了。在pic里加入一个变量objid表示要被填充的块元素id,然后调用callback的时候再传递下去.
在init里面调用两次pic改不同的url和objid即可。