script language="javascript" type="text/javascript">
function showDetails(){
  var show=document.getElementsByName("close");
  var detail=document.getElementById("firstState");
  var flag1=true;
  var flag2=false;
  if(flag1==true){
     detail.innerHTML="popupHtml.html"
     show[0].src="open.gif";
     flag1=false;
     flag2=true;
     return;
  }
  else if(flag2==true){
     detail.innerText=""
     show[0].src="close.gif"
     flag2=false;
     flag1=true;
     return;
  }
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body>
<img src="close.gif" name="close" onclick="showDetails()"/>第一站<br>
<div id="firstState"></div>
&nbsp;&nbsp;第二站<br>
</body>
</html>上面的程序是当点击close.gif图片时,显示open.gif,同时在占位符div显示另一个网页,再次单击时
显示原来的显示效果。为什么第一次单击时,open.gif显示出来,而div处显示的是popupHtml.html几个
字符,没有显示它所代表的链接网页,第二次单击时,没有任何响应,这个怎么改??

解决方案 »

  1.   

    function showDetails() {
                var show = document.getElementsByName("close");
                var detail = document.getElementById("firstState");
                var flag1 = true;
                var flag2 = false;
                if (flag1 == true) {
                    var a = document.createElement('iframe');
                    a.src = 'b.htm';
                    detail.appendChild(a);
                    show[0].src = "open.gif";
                    flag1 = false;
                    flag2 = true;
                    return;
                }
                else if (flag2 == true) {
                    detail.innerText = ""
                    show[0].src = "close.gif"
                    flag2 = false;
                    flag1 = true;
                    return;
                }
            }
      

  2.   

    innerHTML方法这是支持带有html标签的字符串可以在里面显现出来,detail.innerHTML="popupHtml.html"你这样写浏览器把popupHtml.html当字符串处理,所以页面显示popupHtml.html
    你这个是想把popupHtml.html页面嵌套进来呢还是想把popupHtml.html里面的内容取出来放入DIV中?
      

  3.   

    当然是把popupHtml.html里面的内容取出来放入DIV中,这儿如果是嵌套进来,最后也是和原有的一起解析后显示在客户端,有什么区别吗??
      

  4.   

    安楼上所说,添加孩子节点后,popupHtml.html中的链接只会在div处显示出来,而我设置的链接是在新开的窗口显示,这个怎么解决??在新开窗口显示?
      

  5.   

    如果你是点击图片之后显示出该链接,然后点击该链接再新开窗口的话detail.innerHTML="<a href='popupHtml.html' target='_blank'>popupHtml.html</a>";
    如果你是点击图片之后,直接新窗口打开的话window.open('popupHtml.html');
      

  6.   

    这儿怎样实现当点击close.gif时被open.gif替换,而当点击open.gif时又被替换回,这儿问什么只能实现open.gif替换,在次点击时没有任何效果???