CSDN的用户资料提示是怎么做的啊??如鼠标移动至我的头像就会有一个层出来显示我的个人资料。
觉得这个效果很好,有人透漏点吗。

解决方案 »

  1.   

    Ajax技术,鼠标悬停时创建层,Ajax请求数据,把代码下过来研究下就知道了,通过都是这么做的
      

  2.   

    综上所述......js 触发onmouseover   ajax调用后台数据  显示div浮动层
      

  3.   


    <li class="center"><a href="http://hi.csdn.net/cakexiang" target="_blank" onclick='LogClickCount(this,111);'><img src="http://avatar.profile.csdn.net/1/A/7/2_cakexiang.jpg" onmouseover="try{showUserCard(this,'cakexiang')}catch(ex){};"/></a></li>//t5.js
    function showUserCard(sender, username) {
    if (!currentUserCard) {
    //if (!panelTopicAdmin) return; 
    currentUserCard = new CsdnUserCard();//*/
    }
    var point = absolutePoint(sender);
    currentUserCard.owner = sender;
    currentUserCard.show(point.x + 65, point.y, username, sender.src);
    currentUserCard.mouseover = function(e) {
    var element = typeof event != "undefined" ? event.srcElement : e.target;
    var hotCard = false;
    while (element) {
    hotCard = element == currentUserCard.owner || element == currentUserCard.div_card;
    if (hotCard) break;
    element = element.parentNode;
    }
    if (!hotCard) {
    removeEventHandler(document, "mouseover", currentUserCard.mouseover);
    currentUserCard.close();
    }
    }
    addEventHandler(document, "mouseover", currentUserCard.mouseover);
    }
      

  4.   

    <li class="center"><a href="http://hi.csdn.net/cakexiang" target="_blank" onclick='LogClickCount(this,111);'><img src="http://avatar.profile.csdn.net/1/A/7/2_cakexiang.jpg" onmouseover="try{showUserCard(this,'cakexiang')}catch(ex){};"/></a></li>
    function showUserCard(sender, username) {
    if (!currentUserCard) {
    //if (!panelTopicAdmin) return; 
    currentUserCard = new CsdnUserCard();//*/
    }
    var point = absolutePoint(sender);
    currentUserCard.owner = sender;
    currentUserCard.show(point.x + 65, point.y, username, sender.src);
    currentUserCard.mouseover = function(e) {
    var element = typeof event != "undefined" ? event.srcElement : e.target;
    var hotCard = false;
    while (element) {
    hotCard = element == currentUserCard.owner || element == currentUserCard.div_card;
    if (hotCard) break;
    element = element.parentNode;
    }
    if (!hotCard) {
    removeEventHandler(document, "mouseover", currentUserCard.mouseover);
    currentUserCard.close();
    }
    }
    addEventHandler(document, "mouseover", currentUserCard.mouseover);
    }以上代碼是右鍵+V然後抄的