当前位置:首页 > 日记 > 正文

JS实现的模仿QQ头像资料卡显示与隐藏效果

JS实现的模仿QQ头像资料卡显示与隐藏效果

本文实例讲述了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);    };  }};

比如,一共有三个头像的话,就可以用for循环遍历为每个元素绑定事件:

var number=null;for(number=0;number<3;number++){   reminder("head","info","onmouseover","onmouseout",number);}

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

jquery精度计算代码 jquery指定精

jquery精度计算代码 jquery指定精

精度,计算,小数位,精确,代码,本文实例为大家分享了jquery指定精确小数位的具体代码,供大家参考,具体内容如下/*** 将标签的值格式化* id 标签id* min 最小值* max 最大值*/function toFloat(id,min,max){ var htmlVal = $("#"+id).html(); …

怎么找出来被隐藏了的QQ查找被隐藏

怎么找出来被隐藏了的QQ查找被隐藏

方法,查找,电脑软件,QQ,strong,  有时候明明登录了QQ,但是却找不到QQ图标在哪里,这是因为被隐藏的原因。那么怎么把QQ找出来呢?下面小编告诉你查找被隐藏的QQ方法,希望对你有所帮助!找出来被隐藏了的QQ的方法首先要登录自己的QQ账号然后查看…

如何巧用Excel公式计算个人所得税

如何巧用Excel公式计算个人所得税

计算,个人所得税,巧用,公式,电脑软件,  个人所得税的计算看起来比较复杂,似乎不用VBA宏编程而只用公式来计算是一件不可能的事。其实,Excel提供的函数公式不但可以计算个人所得税,而且还有很大的灵活。以下是小编为您带来的关于巧用Excel公…

WPS演示怎么设置自动切换幻灯片WPS

WPS演示怎么设置自动切换幻灯片WPS

方法,设置,幻灯片,演示,设置自动,  WPS演示课件是应用最广泛的多媒体教学资源,它能够有效的将文字、图形、音频、视频、动画等多种元素融合在一起;很多情况下都是点击鼠标才会切换到下一张幻灯片,这样很不好,有些场合需要自动切换,那么如何…

jQuery Chosen通用初始化

jQuery Chosen通用初始化

初始化,通用,电脑软件,jQuery,Chosen,一直在用Chosen这个js插件,其目的就是美化下拉框。github地址:https://harvesthq.github.io/chosen/no_results_text:"xxxxx"无搜索结果时显示的文本allow_single_deselect:true 是否允许取消选择disable…

jquery中$.fn和滚动效果实现的必备

jquery中$.fn和滚动效果实现的必备

知识,滚动效果,电脑软件,jquery,fn,前言图片滚动效果相信对大家来说都不陌生,烂大街的效果图如下所示,js实现代码很短,不过如果想做的话,必须掌握jquery、IIFE、setInterval等基础以及$.fn用法:jquery中$.fn用法$.fn是jquery的命名空间,如果对jq…

怎样在WPS表格中制作下拉列表

怎样在WPS表格中制作下拉列表

下拉列表,表格,电脑软件,WPS,  通过数据有效性来制作下拉列表,这样就可以不用手动输入。只需要用鼠标点击就可以选择你需要的内容输入到单元格里了哦,很方便的操作。以下是小编为您带来的关于WPS表格中制作下拉列表,希望对您有所帮助。WPS表…

微信小程序 setData的使用方法详解

微信小程序 setData的使用方法详解

使用方法,详解,程序,电脑软件,微信小,微信小程序 setData的使用方法详解最近在使用微信小程序的setData时,遇到了以下问题。如下:官网文档在使用setData()设置数组对象的某个元素的属性时,是这么使用的:Page({ data: { array: [{text: 'init …

js中new一个对象的过程

js中new一个对象的过程

一个对象,过程,电脑软件,js,使用new关键字调用函数(new ClassA(…))的具体步骤:1. 创建空对象{}2. 使用新对象,调用函数,函数中的this被指向新实例对象: {}.构造函数(); 3. 设置新对象的constructor属性为构造函数的名称,设置新…

excel 排名公式的使用方法excel 排

excel 排名公式的使用方法excel 排

公式,使用方法,电脑软件,excel,strong,  Excel中的排名公式具体该如何使用呢?接下来是小编为大家带来的excel 排名公式的使用方法,供大家参考。excel 排名公式的使用方法排名公式使用步骤1:按公式为成绩排名,虽然大家知道RANK能用来排名,但是…

wps中怎么快速复制表格相同内容

wps中怎么快速复制表格相同内容

方法,表格,快速,内容,电脑软件,  表格的编制是办公室里几乎每天都在使用的,同一表格中相同内容的文字要出现在不同行列中,也许你习惯于采用复制、粘贴的方式也处理,其实小编有更加简单快捷的方法,下面小编马上就告诉大家wps中快速复制表格相…

jQuery实现给input绑定回车事件的

jQuery实现给input绑定回车事件的

事件,方法,绑定,电脑软件,jQuery,本文实例讲述了jQuery实现给input绑定回车事件的方法。分享给大家供大家参考,具体如下:<script type="text/javascript" src="Scripts/jquery-1.6.2.js"></script><script language="javascript" type=…