基于项目的须要。须要制作出例如以下的一种页面效果:当用户鼠标经过好友列表中好友头像时,显示该好友的基本资料。事实上也就是类似QQclient的那种功能。

网上找了非常多代码,基本都实现了鼠标悬浮之后弹出div,离开之后立即就消失了。还有些纯CSS的代码实现了这种效果,可是对我没用,我须要的是JS的(由于我的数据还要通过Ajax取得),而且鼠标离开后不能立即隐藏。这个div上还有功能入口。这个页面效果折腾了我一天。由此可见我的JS和CSS技术有待提高...

搜索了好久,最终发现了可行的2个思路例如以下。这2个方法有个样例,不是我写的。我也没用到,转过来分享一下。

下载地址。我的方法參考了方法B的思路。

—————————————————————————————————————————————————————————————————————————————

方法A:

把浮动div和触发元素a放于同一个父级的元素中内,鼠标经过父级的元素中时触发显示。这样鼠标移动到div时仍然 处于该父级的元素中内,则div不会隐藏。

方法B:

鼠标经过a时弹出div,鼠标离开a时设置一个计时器用来关闭div,假设鼠标移动到div后则清除计时器。

—————————————————————————————————————————————————————————————————————————————

我这种方法就是採用了上面方法B的思想,当用户离开触发事件的图像后,资料卡div要延时3秒才后关闭。用户拥有足够的时间进行对应的操作。当用户点击其它好友图像时,则会立马调用hidden方法。将之前的打开正在计时的div关闭。

以下给出我的方法的JS代码:

//显示资料卡
var beforeId; //定义全局变量
function showInfoCard(thisObj,id){
this.hidden(beforeId); //立马隐藏前一个选中弹出来的div
beforeId = id;
// alert(id);
// var d = $(thisObj);
// var pos = d.offset();
// var t = pos.top + d.height() - 5; // 弹出框的上边位置
// var l = pos.left - d.width() - 600; // 弹出框的左边位置
// $("#"+id).css({ "top": t, "left": l }).show();
// var objDiv = $("#"+id); $(objDiv).css("display","block"); $(objDiv).css("left", event.clientX-280); //弹出框的位置X值 $(objDiv).css("top", event.clientY-10); //弹出框位置Y值
}
function hideInfoCard(id){ //隐藏div
//延时3秒
setTimeout('hidden('+id+')',3000);
} function hidden(id){
$("#"+id).hide();
}

以下是HTML中的隐藏的div代码片段:

<div id="id" style="display:none; width:250px; height:150px; background-color:#D1EEEE;position:absolute;"></div>

在HTML中。须要调用showInfoCard和hideInfoCard方法。使用下面语句监听鼠标事件:

onmouseover="showInfoCard(this,'${friend.friendId}')" onmouseout="hideInfoCard('${friend.friendId}')"

这些都是动态的代码片段,採用的时候须要引入jquery.js框架。当然也能够改动成纯JS的。上面的完毕了。AJAX取得信息,然后利用JS在上面div中插入HTML代码就可以完毕显示,最后来张初步的效果图,挺丑的...

(原文地址:http://blog.csdn.net/zhshulin/article/details/36204089)

JS实现鼠标经过用户头像显示资料卡的效果,可点击的更多相关文章

  1. JS实现类似QQ好友头像hover时显示资料卡的效果

    一.应用场景 鼠标hover弹出div,并且鼠标离开后不能马上隐藏,因为这个div上还有功能入口.比如: 鼠标经过好友列表中的好友头像时显示资料卡的效果 hover时显示二维码 二.实现 用如下这样一 ...

  2. [转]jquery 鼠标放在图片上显示图片的放大镜效果jqzoom_ev-2.3

    本文转自:http://blog.csdn.net/weizengxun/article/details/6768183 鼠标放在图片上显示图片的放大镜效果使用jqzoom实现,本例版本2.3 效果图 ...

  3. JS随鼠标坐标移动,显示浮动层内容

    在表单等项目中往往会遇到类似于“备注”.“说明”等100个字内的内容需要显示. 这些内容如果全部呈现开,会影响布局和美观,确又没有必要设计一个层或是一个页面. 那么,我们可以把这些内容放到浮动层中,鼠 ...

  4. JS实现鼠标放在文字上面显示全部内容

    web中当我们把text等的宽固定后如果文本框中内容过多就只能看到前面部分的内容,这时我们可以用样式控制当鼠标移到文本框时显示全部内容. var pointX; var pointY; $(funct ...

  5. js:鼠标移动到文字显示div,移出文字div显示,鼠标能移进div

    <!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...

  6. Jquery 类似新浪微博,鼠标移到头像,用浮动窗口显示用户信息,已做成一个jquery插件

    请注意!!!!! 该插件demo PHP 的 demo下载  C#.NET的demo下载 需要如下图, 1.鼠标移动到头像DIV时,Ajax获取数据,并让浮动DIV显示出来. 2.鼠标可以移动到上面浮 ...

  7. Arcgis for Js之鼠标经过显示对象名的实现

    在浏览地图时,移动鼠标经过某个对象或者POI的时候,能够提示该对象的名称对用户来说是很实用的,本文讲述在Arcgis for Js中,用两种不同的方式来实现该效果. 为了有个直观的概念,先给大家看看实 ...

  8. (转)Arcgis for Js之鼠标经过显示对象名的实现

    http://blog.csdn.net/gisshixisheng/article/details/41889345 在浏览地图时,移动鼠标经过某个对象或者POI的时候,能够提示该对象的名称对用户来 ...

  9. App里面如何正确显示用户头像

    1.说明,一般用户头像在上传的时候都会处理为正方形,如果没有处理该怎么正确显示用户头像呢?解决方案:用css强制 在线地址移动端:戳这里 <div class="main-meimg& ...

随机推荐

  1. amazeui学习笔记二(进阶开发1)--项目结构structure

    amazeui学习笔记二(进阶开发1)--项目结构structure 一.总结 1.项目结构:是说的amazeui在github上面的项目结构,二次开发amazeui用 二.项目结构structure ...

  2. Java 函数的参数说

    java函数参数传递的到底是值还是引用对确实容易让人迷糊.而很多时候因为对这个问题的模糊甚至造成一些错误.最常见的说法是基本类型传的是值,对象传的引用.对于基本类型,大家都达成共识,没有什么可以争论的 ...

  3. 关于VUE的一些指令的介绍

    V-cloak 这是一个不常用的指令,出现这个指令的原因是因为有时候网络速度慢,还没加载完vue,代码就开始编译了,这个时候渲染出来的内容就可想而知了 <!DOCTYPE html> &l ...

  4. 理解String的compareTo()方法返回值

    compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序), 如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值. 如果第一个字符和参数的第一个字符相等,则以第 ...

  5. 关于腾讯云server使用FTP具体配置教程

    本文文件夹:-------------------------------------------------------- [-] 腾讯云server介绍 关于腾讯云server使用感受 作为开发人 ...

  6. Windows Forms 对话框篇

    1,标准对话框 Windows内置的对话框,又叫公用对话框,它们作为组件提供的,并且存在于System.Windows.Forms命名空间中. 手工方式: private void button1_C ...

  7. iOS_06_基本运算符

    一.算术运算 c语言一共有34种运算符,包括了常见的加减乘除 1.加法运算+ # 除了能做加法运算,还能表示正号:+5.+90 2.减法运算- # 除了能做减法运算,还能表示符号:-10.-200 3 ...

  8. UVA 11796 - Dog Distance 向量的应用

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  9. maven 配置Project Facets时further configuration available不出来问题

    如果下边的 further configuration available不出来 把Dynamic web module 去掉勾选,应用与项目,然后再点开项目的properties,再选中Dynami ...

  10. UVA 10340 - All in All 水~

    看题传送门 Problem E All in All Input: standard input Output: standard output Time Limit: 2 seconds Memor ...