function smith_fun(divWidth,divHeight,imgurl,url,flag){
clearDivWindow(); 
var id;
if(flag=="smith1"){
id = "smith1";  
}else if(flag=="fuh1"){
id = "smith2"; 

DivWindowOpen(divWidth,divHeight,imgurl,url);//打开页面
alert(id); //???
document.getElementById(id).style.display='block';
 
}
问号处就是问题,当使用这个alerlt时候,就能够正常读出页面,当不使用alert的时候,就会出现找不到对象的问题,请各位高手帮小弟分析一下,问题出在哪里?非常感谢!!!

解决方案 »

  1.   


    是在我的php引用的js文件中的,我的php代码为:<a href="javascript:smith_fun(775,468,'smith','n_smith.php','smith1');"><img src="images/jianzhu/tiejiangpu.gif"  border=0/></a> 
     
      

  2.   

    DivWindowOpen(divWidth,divHeight,imgurl,url);//打开页面这个地方你加载了东西,而这个东西没有解析完成,所以DOM对象找不到。
    你加了alert实际上是在延迟2个方式
    一个是把DivWindowOpen里的异步改成同步
    一个是把这里的方法完善下,等待加载完成
      

  3.   


    function DivWindowOpen(divWidth,divHeight,imgurl,url){
        var pageUrl = url; //DIV中加载的页面URL
    //lockScreen(); //锁定背景
    divOpen(divWidth,divHeight,pageUrl,imgurl);
    //$("#divTitle").append(divTitle);
         //交换X图片
    $("#x").hover(
    function(){
    $(this).attr("src","images/Close-2.gif");
    },
    function(){
    $(this).attr("src","images/Close-1.gif");
    }
    );
    //关闭DIV窗口
    $("#x").click(
    function(){
    clearDivWindow();
    if(imgurl=="tongtian"){
    clearDivWindow();
    }
    //clearLockScreen();
    }
    );}
    //divOpen(divWidth,divHeight,pageUrl,imgurl)的实现用到的地方
    if(imgurl=="smith"){
     $("#divWindow").css("background","url(images/changjing/smith.jpg)");
     
    }
     
     
    $("#divContent").load(pageUrl);

      

  4.   

    $("#divContent").load(pageUrl); ==>改成$("#divContent").load(pageUrl,function() {
        document.getElementById(id).style.display='block';
    });
      

  5.   

    有问题来CSDN就可以了~
    我的IM确实比较悲剧,很羡慕你们随时可以上IM的~