本文实例讲述了JS实现的模仿QQ头像资料卡显示与隐藏效果。分享给大家供大家参考,具体如下:
我们使用QQ时经常需要查看朋友的资料卡,当我们把鼠标移入头像时,资料卡显示,并且鼠标能在头像与资料卡之间能随意移动,当鼠标移出头像或资料卡时,资料卡延时隐藏。
实质就是延时提示框问题!
首先写好布局:
<style> div { float:left; margin:5px; } .head { width:50px;height:50px;background-color:pink; } .info { width:250px;height:200px;background-color:blue;display:none; } </style> <div> <div class="head"></div> <div class="info"></div> </div>
其次js部分:
思路:
(1)鼠标移入头像,资料卡显示;鼠标移出头像,资料卡延时隐藏setTimeout
(2)鼠标移入资料卡,资料卡仍显示,并清除资料卡延时隐藏的变量
(3)鼠标移出资料卡,资料卡延时隐藏,并且此时如果在移入到头像中,资料卡扔显示,并清除资料卡延时隐藏的变量
window.onload =function(){ var oHead = document.getElementsByClassName("head")[0]; var oInfo = document.getElementsByClassName("info")[0]; var timer = null; oHead.onmouseover=function(){ clearTimeout(timer); oInfo.style.display="block"; }; oHead.onmouseout=function(){ timer = setTimeout(function(){ oInfo.style.display="none"; },500); }; oInfo.onmouseover=function(){ clearTimeout(timer); oInfo.style.display="block"; }; oInfo.onmouseout=function(){ timer = setTimeout(function(){ oInfo.style.display="none"; },500); }; };
优化代码:
oInfo.onmouseover = oHead.onmouseover=function(){ clearTimeout(timer); oInfo.style.display="block"; }; oInfo.onmouseout = oHead.onmouseout=function(){ timer = setTimeout(function(){ oInfo.style.display="none"; },500); };
函数封装:
注意:事件 .xx 等于 [“xx”]
第一种:函数外获取变量,调用函数,适用于一个或两个元素调用此事件
window.onload =function(){ var oHead = document.getElementsByClassName("head")[0]; var oInfo = document.getElementsByClassName("info")[0]; reminder(oHead,oInfo,"onmouseover","onmouseout"); function reminder (div1,div2,event1,event2){ var timer = null; div1[event1] = div2[event1]=function(){ clearTimeout(timer); div2.style.display="block"; }; div1[event2] = div2[event2]=function(){ timer = setTimeout(function(){ div2.style.display="none"; },500); }; } };
第二种:函数外获取变量,调用函数,适用于多个元素调用此事件
window.onload =function(){ var number=0; reminder("head","info","onmouseover","onmouseout",number); function reminder (div1,div2,event1,event2,num){ var oHead = document.getElementsByClassName(div1)[num]; var oInfo = document.getElementsByClassName(div2)[num]; var timer = null; oHead[event1] = oInfo[event1]=function(){ clearTimeout(timer); oInfo.style.display="block"; }; oHead[event2] = oInfo[event2]=function(){ timer = setTimeout(function(){ oInfo.style.display="none"; },500); }; } };
比如,一共有三个头像的话,就可以用forhtml" target="_blank">循环遍历为每个元素绑定事件:
var number=null; for(number=0;number<3;number++){ reminder("head","info","onmouseover","onmouseout",number); }
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
本文向大家介绍基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐),包括了基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)的使用技巧和注意事项,需要的朋友参考一下 一、应用场景 鼠标hover弹出div,并且鼠标离开后不能马上隐藏,因为这个div上还有功能入口。比如: 鼠标经过好友列表中的好友头像时显示资料卡的效果如下所示: hover时显示二维码 二、实现 用
本文向大家介绍JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果,包括了JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果的使用技巧和注意事项,需要的朋友参考一下 基于项目的需要,需要制作出如下的一种页面效果:当用户鼠标经过好友列表中好友头像时,显示该好友的基本资料,其实也就是类似QQ客户端的那种功能。 网上找了很多代码,基本都实现了鼠标悬浮之后弹出div,离开之后马上就消失了。还有些纯C
本文向大家介绍jQuery隐藏和显示效果实现,包括了jQuery隐藏和显示效果实现的使用技巧和注意事项,需要的朋友参考一下 实例 jQuery hide() 简单的jQuery hide()方法演示。 jQuery hide() 另一个hide()实例。演示如何隐藏文本。 jQuery hide() 和 show() 通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示
本文向大家介绍JS实现“隐藏与显示”功能(多种方法),包括了JS实现“隐藏与显示”功能(多种方法)的使用技巧和注意事项,需要的朋友参考一下 下面我将效果图展示出来: 1,通过按钮实现隐藏与显示: 这个是通过按钮点击实现的隐藏与显示,具体代码如下: 其中,主要能够实现这个功能的是js代码, 通过getElementById()这个方法找到对应元素,进而控制它的style,以此来做对应的功能。这是一个
本文向大家介绍jQuery仿淘宝网产品品牌隐藏与显示效果,包括了jQuery仿淘宝网产品品牌隐藏与显示效果的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery仿淘宝网产品品牌隐藏与显示效果。分享给大家供大家参考。具体如下: 这里演示jQuery实现产品品牌隐藏与显示效果,仿淘宝网商品列表的品牌显示与折叠功能,很实用的代码,看了就知道了。 运行效果截图如下: 在线演示地址如下: ht
本文向大家介绍js实现仿QQ秀换装效果的方法,包括了js实现仿QQ秀换装效果的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现仿QQ秀换装效果的方法。分享给大家供大家参考。具体实现方法如下: 运行效果如下图所示: 希望本文所述对大家的javascript程序设计有所帮助。
本文向大家介绍Android自定义View模仿QQ讨论组头像效果,包括了Android自定义View模仿QQ讨论组头像效果的使用技巧和注意事项,需要的朋友参考一下 首先来看看我们模仿的效果图,相信对于使用过QQ的人来说都不陌生,效果图如下: 在以前的一个项目中,需要实现类似QQ讨论组头像的控件,只是头像数量和布局有一小点不一样:一是最头像数是4个,二是头像数是2个时的布局是横着排的。其实当时Git
本文向大家介绍JS实现仿QQ效果的三级竖向菜单,包括了JS实现仿QQ效果的三级竖向菜单的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现仿QQ效果的三级竖向菜单。分享给大家供大家参考。具体如下: 这是一款仿QQ的三级菜单,竖向三级,两级的比较多见,三级的不多哦,不过本菜单三级菜单没有美化,你需要自己再美化一下。 运行效果截图如下: 在线演示地址如下: http://demo.jb51