请教一个js的问题,
我想做一个类似于qq空间留言板中,当鼠标放在留言者的头像上的时候,显示他的详细信息的功能。
我做了一个隐藏的层放在那里,当鼠标放上去的时候显示出来,我想做成qq那样的,就是当鼠标第一次停在头像上的时候,这个层显示出来,而且只要鼠标不离开,那么这个曾会一直在固定的那个位置。而且一旦鼠标离开再进入,那么层的位置就发生了变化,而且只要不离开,位置是一定的。
请教高手,如何实现啊?我通过取得clientX和Y不能实现,那样层会一直跟着鼠标动。急求指点啊

解决方案 »

  1.   

    当鼠标放在留言者的头像上的时候,显示他的详细信息的功能。只要设置 title 属性值 就行了.
      

  2.   

    那是由于你使用的事件不对。用了onmouseover就这种现象。用这个事件,你的代码需要改很多。换成onmouseenter事件就好了。
      

  3.   

    楼上说的TITLE属性,是一个简便的方法。如果都是无格式的文本信息,这样就行。
    如果是带图文和字体样式的格式化信息,就用你原来的方法。注意事件的使用。
    你在你问问题的这个CSDN页面里,不就能看到CSDN怎么写的吗。研究一下它代码就行了。
      

  4.   

    非IE的浏览器,有些不支持onmouseenter事件的,那样的话,在onmousemove里要显示之前先IF判断一下这个显示层是否已经显示了,若是则不处理,若没有则再显示就行了。
      

  5.   


    我用的div,似乎没有mouseenter的事件吧,我加了判断,可是还是不行,层还是随着鼠标动 请看看我的代码,那里错了:
    function over(id) {
                 var ii=$("#"+id)[0];
                 if(ii.style.display == 'none'){
                     $("#"+id).show();
                     var x=event.clientX;
                     var y=event.clientY;
                     $("#"+id).css({
                     'position':'absolute',
                     'left':x-10,
                     'top':y-10
                  });
                }   
            }
    over是鼠标onmouseover执行的函数,
      

  6.   

    用此onmousemover()事件,然后设置TITLE值就好了