这跟全局变量news有虾米关系?news好好的,只是你那个 var tarElem=document.getElementById('tip');不知入在哪里,如果还没有装载tip这个元素,tarElem就一定是null,

解决方案 »

  1.   

    同意一楼,应该是代码放错位置了.你的js代码应该放到id为tip的控件下面,如下<div id="tip" style="position:absolute;display:none">aaa</div>
    <script type='text/javascript'> 
          var tarElem=document.getElementById('tip'); 
          var news=new Array(); 
          for(var i=0;i <6;i++){ 
                news[i]='这是消息 <font color=#ff0000> '+i+' </font> 的内容'; 
          }       function showTip(){ 
          // show the message box 
                //alert(tarElem); 
                var x = document.body.scrollLeft+event.clientX; 
                var y = document.body.scrollTop+event.clientY; 
                tarElem.style.display = 'block'; 
                tarElem.style.posLeft = x + 10; 
                tarElem.style.posTop = y + 10; 
          } 
          function closeTip(){ 
          // to close the tip box 
                tarElem.style.display = 'none'; 
          }       function pack(kid){ 
          // pack content accordingly to div 
                var content = news[kid]; 
                tarElem.innerHTML = content; 
          }       document.onclick=showTip; 
      </script> 
      

  2.   

    <script   type='text/javascript' defer> 
                    var   tarElem=document.getElementById('tip'); 
                    var   news=new   Array(); 
                    for(var   i=0;i <6;i++){ 
                                    news[i]='这是消息 <font   color=#ff0000> '+i+' </font> 的内容'; 
                    }                 function   showTip(){ 
                    //   show   the   message   box 
                                    //alert(tarElem); 
                                    var   x   =   document.body.scrollLeft+event.clientX; 
                                    var   y   =   document.body.scrollTop+event.clientY; 
                                    tarElem.style.display   =   'block'; 
                                    tarElem.style.posLeft   =   x   +   10; 
                                    tarElem.style.posTop   =   y   +   10; 
                    } 
                  function   closeTip(){ 
                    //   to   close   the   tip   box 
                                    tarElem.style.display   =   'none'; 
                    }                 function   pack(kid){ 
                    //   pack   content   accordingly   to   div 
                                    var   content   =   news[kid]; 
                                    tarElem.innerHTML   =   content; 
                    }                 document.onclick=showTip; 
        </script>
    defer属性,页面加载后运行,在tip初始化之前获得tip就是null
      

  3.   

    1.一楼说的news数组是我误打了,打错了呵呵
    2.上述的代码是放到一个外部的JS文件中,所以在定义元素之后?是不是要有那个元素之后来引用这个元素啊!
    脚本引用在元素定义之前的问题以前也遇到过.