前端技术分享-码匠 极客编程技术分享

您当前位于:jQuery实战开发 ——> jQuery特效实战开发 - 实例:模块变幻

jQuery特效实战开发 - 实例:模块变幻

2015/06/10 00:02:49 | 作者:HTML5学堂(码匠) | 分类:jQuery实战开发 | 关键词:JQ特效,animate,动画,JQ,jQuery

JQ特效—模块变幻

HTML5学堂:个人信息介绍在门户网站中是必不可少的因素,呆板的个人信息介绍模块无法满足用户视觉的享受。本文将分享一款关于个人信息介绍的效果,该效果使用户在查看个人信息时,变得有趣,极大提高了用户体验。用户操控鼠标移入到模块上时,内容区的图像显示大小以及顶部的边框都会发生变化。希望对大家有所帮助~

效果需求

模块变幻是采用jQuery插件制作出来的一个效果。该效果较多的应用在个人中心等模块,使得个人信息介绍变得更加有趣,提高用户体验,该效果的功能如下:当鼠标移入一个信息模块时,内容区的图像显示大小以及顶部的边框都会发生变化。当鼠标移开之后,当信息模块还原至初始状态。

效果展示

HTML5学堂 模块渐变特效

效果实现

结构代码

  1. <body>
  2.     <div class="con">
  3.         <ul>
  4.             <li>
  5.                 <div class="bar"></div>
  6.                 <dl>
  7.                     <dt><a href="http://blog.163.com/hongshaoguoguo@126" title=""><img src="../common/images/tea_2.jpg" alt="" title=""></a></dt>
  8.                     <dd>
  9.                         <h2>刘国利</h2>
  10.                         <p>网易博客:独行冰海</p>
  11.                         <p>微博:独行冰海</p>
  12.                         <div><a href="" title="">MORE</a></div>
  13.                     </dd>
  14.                 </dl>
  15.             </li>
  16.             <li>
  17.                 <div class="bar"></div>
  18.                 <dl>
  19.                     <dt><a href="http://m18050905128.blog.163.com/" title=""><img src="../common/images/tea_6.jpg" alt="" title=""></a></dt>
  20.                     <dd>
  21.                         <h2>陈能堡</h2>
  22.                         <p>网易博客:梦幻雪冰</p>
  23.                         <p>微博:我的左手旁边就是你的右手</p>
  24.                         <div><a href="" title="">MORE</a></div>
  25.                     </dd>
  26.                 </dl>
  27.             </li>
  28.             <li>
  29.                 <div class="bar"></div>
  30.                 <dl>
  31.                     <dt><a href="http://lovelyjpw.blog.163.com/" title=""><img src="../common/images/tea_5.jpg" alt="" title=""></a></dt>
  32.                     <dd>
  33.                         <h2>尹鹏</h2>
  34.                         <p>网易博客:尹小芃槑 </p>
  35.                         <p>微博:尹小芃槑 </p>
  36.                         <div><a href="" title="">MORE</a></div>
  37.                     </dd>
  38.                 </dl>
  39.             </li>
  40.             <li>
  41.                 <div class="bar"></div>
  42.                 <dl>
  43.                     <dt><a href="http://linhe-qin.com.blog.163.com/" title=""><img src="../common/images/tea_7.jpg" alt="" title=""></a></dt>
  44.                     <dd>
  45.                         <h2>林河钦</h2>
  46.                         <p>网易博客:路过心上 </p>
  47.                         <p>微博:窝在心里头 </p>
  48.                         <div><a href="" title="">MORE</a></div>
  49.                     </dd>
  50.                 </dl>
  51.             </li>
  52.         </ul>
  53.     </div>
  54. </body>

以上代码为模块变幻效果的HTML结构,使用类名为con的div包裹所有的HTML结构标签,根据需求,选用ul列表标签,每个子元素使用li表示,顶部的横线使用一个空标签div来显示,内容模块使用了自定义列表dl标签,配合dt、dd展示模块的内容。

欢迎沟通交流~HTML5学堂

样式代码

  1. <style>
  2. body {
  3.     background: #fec;
  4. }
  5. .con {
  6.     width: 920px;
  7.     margin: 0 auto;
  8.     overflow: hidden;
  9. }
  10. .con ul {
  11.     width: 928px;
  12. }
  13. .con li {
  14.     overflow: hidden;
  15.     position: relative;
  16.     float: left;
  17.     width: 220px;
  18.     height: 360px;
  19.     margin: 0 10px 10px 0;
  20.     border: 1px solid #963;
  21.     /*margin: 0 8px 8px 0;*/
  22. }
  23. .con .bar {
  24.     display: none;
  25.     position: absolute;
  26.     top: 0;
  27.     left: 0;
  28.     width: 100%;
  29.     height: 5px;
  30.     background: #963;
  31. }
  32. .con dt {
  33.     padding: 10px;
  34.     width: 200px;
  35.     height: 200px;
  36. }
  37. .con dt a {
  38.     overflow: hidden;
  39.     display: block;
  40.     height: 100%;
  41. }
  42. .con a img {
  43.     display: block;
  44.     width: 100%;
  45.     height: 200px;
  46. }
  47. .con dd {
  48.     position: relative;
  49.     height: 169px;
  50.     border-bottom: 1px solid #963;
  51.     z-index: 1;
  52. }
  53. .con h2 {
  54.     height: 40px;
  55.     line-height: 40px;
  56.     font-size: 16px;
  57.     font-weight: bold;
  58.     color: #963;
  59.     text-align: center;
  60. }
  61. .con p {
  62.     overflow: hidden;
  63.     height: 24px;
  64.     padding: 0 10px;
  65.     font-size: 14px;
  66.     line-height: 24px;
  67. }
  68. .con dd div {
  69.     height: 24px;
  70.     margin: 27px 0 0 0;
  71.     font-size: 12px;
  72. }
  73. .con dd span {
  74.     float: left;
  75.     padding: 0 0 0 20px;
  76. }
  77. .con dd a {
  78.     float: right;
  79.     padding: 0 20px 0 0;
  80.     font-weight: bold;
  81.     color: #963;
  82. }
  83. </style>

以上代码为模块变幻效果的CSS样式代码,body设置了背景颜色,给内容区域设置了宽及水平。每个模块设置了相对定位、浮动处理、外边距等样式。顶部的小线条采用的是绝对定位的方式将线条固定在顶部并设置了大小及背景颜色。给图片区域设置了大小。图片介绍设置了行高,等字体信息。

行为代码

  1. <script>
  2. $('.con li').hover(function(){
  3.     $(this).children('.bar').stop().fadeIn(400);
  4.     $(this).find('dt').stop().animate({
  5.         "height" : "170px"
  6.     });
  7.     $(this).find('img').stop().animate({
  8.         "margin-top" : "-15px"
  9.     });
  10. }, function(){
  11.     $(this).children('.bar').stop().fadeOut(400);
  12.     $(this).find('dt').stop().animate({
  13.         "height" : "200px"
  14.     });
  15.     $(this).find('img').stop().animate({
  16.         "margin-top" : "0px"
  17.     });
  18. })
  19.     </script>

以上代码为模块变幻效果的jQuery行为代码,首先使用jQuery选择器,选定类名为con下li标签,并给这些li标签绑定hover事件,当鼠标移入该模块区域时,执行第3行~第9行代码,该段代码的含义如下:该模块下的子元素(.children()查找子元素)且类名为bar的元素以淡入的形式在模块内出现。后代元素中,标签名为dt的标签样式属性发生了改变,通过jQuery的.animate({"height" : "170px"})动画改变该标签的高度,同时img的属性也发生了改变,margon-top的值变成了-15px。当鼠标移开该模块,模块内dt、img的属性恢复至css里设置的样式,该模块下类名为bar的元素再次隐藏起来。

欢迎沟通交流~HTML5学堂

微信公众号,HTML5学堂,码匠,原创文章,WEB前端,技术分享

HTML5学堂

原创前端技术分享

HTML5学堂,HTML5,WEB,前端,视频课程,技术视频,学习视频,面试,JS

原创视频课程

用心打造精品课程

微信小程序,决胜前端,面试题,面试题集合,前端,HTML5,真题

小程序-决胜前端

前端面试题宝库

原创书籍,学习书籍,书籍推荐,HTML5布局之路,HTML5,WEB前端

HTML5布局之路

非传统模式讲解前端