全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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程序设计有所帮助。


# JS  # 模仿  # QQ头像  # 资料卡  # 显示  # 隐藏  # 原生JS仿QQ阅读点击展开、收起效果  # JS实现的仿QQ空间图片弹出效果代码  # js实现仿qq消息的弹出窗效果  # JS实现超简单的仿QQ折叠菜单效果  # JS实现仿QQ面板的手风琴效果折叠菜单代码  # js实现带缓冲效果的仿QQ面板折叠菜单代码  # JS实现仿QQ聊天窗口抖动特效  # 纯js实现仿QQ邮箱弹出确认框  # 基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解  # javascript仿qq界面的折叠菜单实现代码  # js设置控件的隐藏与显示的两种方法  # js菜单点击显示或隐藏效果的简单实例  # javascript 控制 html元素 显示/隐藏实现代码  # 鼠标  # 遍历  # 适用于  # 移出  # 相关内容  # 多个  # 可以用  # 感兴趣  # 能在  # 数据结构  # 给大家  # 当我们  # 更多关于  # 所述  # 绑定  # 第二种  # 第一种  # 写好  # 程序设计  # 当鼠标 


相关文章: 定制建站流程步骤详解:一站式方案设计与开发指南  如何在腾讯云免费申请建站?  如何用免费手机建站系统零基础打造专业网站?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  黑客入侵网站服务器的常见手法有哪些?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  如何选择适合PHP云建站的开源框架?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  ,网站推广常用方法?  ,交易猫的商品怎么发布到网站上去?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  制作营销网站公司,淘特是干什么用的?  建站之星导航菜单设置与功能模块配置全攻略  如何通过虚拟主机空间快速建站?  如何制作算命网站,怎么注册算命网站?  移民网站制作流程,怎么看加拿大移民官网?  建站之星导航如何优化提升用户体验?  Thinkphp 中 distinct 的用法解析  ,网页ppt怎么弄成自己的ppt?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  香港网站服务器数量如何影响SEO优化效果?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  建站之星如何开启自定义404页面避免用户流失?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  建站之星导航配置指南:自助建站与SEO优化全解析  潮流网站制作头像软件下载,适合母子的网名有哪些?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  成都网站制作报价公司,成都工业用气开户费用?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  创业网站制作流程,创业网站可靠吗?  如何用好域名打造高点击率的自主建站?  建站之星会员如何解锁更多建站功能?  在线制作视频网站免费,都有哪些好的动漫网站?  如何通过二级域名建站提升品牌影响力?  建站主机选购指南:核心配置与性价比推荐解析  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  自助网站制作软件,个人如何自助建网站?  Python如何创建带属性的XML节点  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何快速生成橙子建站落地页链接?  如何快速登录WAP自助建站平台?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  建站OpenVZ教程与优化策略:配置指南与性能提升  如何安全更换建站之星模板并保留数据?  北京网站制作网页,网站升级改版需要多久?  如何破解联通资金短缺导致的基站建设难题? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。