JS实现鼠标经过用户头像显示资料卡的效果,可点击
基于项目的须要。须要制作出例如以下的一种页面效果:当用户鼠标经过好友列表中好友头像时,显示该好友的基本资料。事实上也就是类似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实现鼠标经过用户头像显示资料卡的效果,可点击的更多相关文章
- JS实现类似QQ好友头像hover时显示资料卡的效果
一.应用场景 鼠标hover弹出div,并且鼠标离开后不能马上隐藏,因为这个div上还有功能入口.比如: 鼠标经过好友列表中的好友头像时显示资料卡的效果 hover时显示二维码 二.实现 用如下这样一 ...
- [转]jquery 鼠标放在图片上显示图片的放大镜效果jqzoom_ev-2.3
本文转自:http://blog.csdn.net/weizengxun/article/details/6768183 鼠标放在图片上显示图片的放大镜效果使用jqzoom实现,本例版本2.3 效果图 ...
- JS随鼠标坐标移动,显示浮动层内容
在表单等项目中往往会遇到类似于“备注”.“说明”等100个字内的内容需要显示. 这些内容如果全部呈现开,会影响布局和美观,确又没有必要设计一个层或是一个页面. 那么,我们可以把这些内容放到浮动层中,鼠 ...
- JS实现鼠标放在文字上面显示全部内容
web中当我们把text等的宽固定后如果文本框中内容过多就只能看到前面部分的内容,这时我们可以用样式控制当鼠标移到文本框时显示全部内容. var pointX; var pointY; $(funct ...
- js:鼠标移动到文字显示div,移出文字div显示,鼠标能移进div
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...
- Jquery 类似新浪微博,鼠标移到头像,用浮动窗口显示用户信息,已做成一个jquery插件
请注意!!!!! 该插件demo PHP 的 demo下载 C#.NET的demo下载 需要如下图, 1.鼠标移动到头像DIV时,Ajax获取数据,并让浮动DIV显示出来. 2.鼠标可以移动到上面浮 ...
- Arcgis for Js之鼠标经过显示对象名的实现
在浏览地图时,移动鼠标经过某个对象或者POI的时候,能够提示该对象的名称对用户来说是很实用的,本文讲述在Arcgis for Js中,用两种不同的方式来实现该效果. 为了有个直观的概念,先给大家看看实 ...
- (转)Arcgis for Js之鼠标经过显示对象名的实现
http://blog.csdn.net/gisshixisheng/article/details/41889345 在浏览地图时,移动鼠标经过某个对象或者POI的时候,能够提示该对象的名称对用户来 ...
- App里面如何正确显示用户头像
1.说明,一般用户头像在上传的时候都会处理为正方形,如果没有处理该怎么正确显示用户头像呢?解决方案:用css强制 在线地址移动端:戳这里 <div class="main-meimg& ...
随机推荐
- HDU 1848(sg博弈) Fibonacci again and again
Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- Opera mini for S60 custom server
Opera mini for S60 custom server 在线改服 http://yourshell.info/mo/mini/ 本人贫穷一族,一直在用S60V2,这种手机启动JAVA很占内存 ...
- ASP.net 环境搭建
https://www.cnblogs.com/leizhanjun/p/6081928.html
- Android Multiple dex files define BuildConfig
dexOptions { preDexLibraries = false }
- Leetcode-求两数之和
题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中 ...
- 在CentOS7 开发与部署 asp.net core app笔记
原文:在CentOS7 开发与部署 asp.net core app笔记 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lihongzhai/art ...
- JQ实现选项卡(jQuery原型插件扩展)
下边分为两个版本,一种是点击切换选项(index.js),一种是滑过切换选项(index1.js) HTML文件: jq使用jquery-1.11.3.js版本 <!DOCTYPE html&g ...
- 1.Python字符编码
1.编码简介 编码的种类情况 ASCII 占1个字节,只支持英文 GB2312 占2个字节,支持6700+汉字 GBK GB2312的升级版,支持21000+汉字 ks_c_5601-1987 韩国编 ...
- StackExchange.Redis 官方文档(六) PipelinesMultiplexers
原文:StackExchange.Redis 官方文档(六) PipelinesMultiplexers 流水线和复用 糟糕的时间浪费.现代的计算机以惊人的速度产生大量的数据,而且高速网络通道(通常在 ...
- Java基础学习总结(50)——Java事务处理总结
一.什么是Java事务 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性(isol ...