使用jquery制作动感的鼠标滑过效果

发布于,归属于jquery教程只剩下板凳啦! 共有1,037人围观    

效果说明:鼠标滑过图标,图标向上移动,同时,底部的阴影开始变淡,鼠标移开图标,效果复位。

演示:http://www.36ria.com/demo/Realistic-Hover-Effect/

点此下载

制作过程

1、准备图标和底部阴影,示例包内已经包含了,可以参照着制作。

2、构建如下html代码:

 

  1. <ul id="nav-shadow">
  2.         <li><a href="#" title="分享到嘀咕"><img src="images/digu.png" width="64" height="64" /></a></li>
  3.         <li><a href="#" title="分享到新浪微博"><img src="images/sinaminiblog.png" width="64" height="64" /></a></li>
  4.         <li><a href="#" title="分享到做啥"><img src="images/zuosa.png" width="64" height="64" /></a></li>
  5.         <li><a href="#" title="分享到人间"><img src="images/renjian.png" width="64" height="64" /></a></li> 
  6.         <li><a href="#" title="分享到gbuzz"><img src="images/gbuzz.png" width="64" height="64" /></a></li> 
  7.                          <li><a href="#" title="分享到鲜果"><img src="images/xianguo.png" width="64" height="64" /></a></li> 
  8.                          <li><a href="#" title="分享到9dian"><img src="images/9dian.png" width="64" height="64" /></a></li>               
  9.     </ul>

非常简单的列表结构。

3、构建如下css样式:

  1. #nav-shadow {
  2.     margin: 0 auto 50px auto;
  3.     padding: 50px 0 0 127px;
  4.     width: 650px;
  5.     min-height: 130px;
  6.     text-align: center;
  7.     background: url(../images/page-shadow.jpg) top center no-repeat;
  8.     list-style: none;
  9.     }
  10.    
  11. #nav-shadow li {
  12.     margin-right: 15px;
  13.     width: 81px;
  14.     height: 76px;
  15.     position: relative;
  16.     float: left;
  17.     }
  18.    
  19. #nav-shadow a{
  20.     margin: 0 auto;
  21.     width: 64px;
  22.     height: 64px;
  23.     text-indent: -9999px;
  24.     overflow: hidden;
  25.     display: block;
  26.     position: relative;
  27.     z-index: 2;
  28.     }
  29. #nav-shadow a img{
  30.     display:block;
  31. }       
  32. /*按钮阴影*/
  33.  
  34. #nav-shadow li img.shadow {
  35.     margin: 0 auto;
  36.     position: absolute;
  37.     bottom: 0;
  38.     left: 0;
  39.     z-index: 1;
  40.     }

4、编写javascript脚本:

  1. $(document).ready(function() {
  2.     //给每个li添加阴影图片
  3.    
  4.     $("#nav-shadow li").append('<img class="shadow" src="images/icons-shadow.jpg" width="81" height="27" alt="" />');
  5.  
  6.     // 鼠标滑过按钮,动画开始
  7.    
  8.     $("#nav-shadow li").hover(function() {
  9.         var e = this;
  10.         $(e).find("a").stop().animate({ marginTop: "-14px" }, 250, function() {
  11.             $(e).find("a").animate({ marginTop: "-10px" }, 250);
  12.         });
  13.         $(e).find("img.shadow").stop().animate({ width: "80%", height: "20px", marginLeft: "8px", opacity: 0.25 }, 250);
  14.     },function(){
  15.         var e = this;
  16.         $(e).find("a").stop().animate({ marginTop: "4px" }, 250, function() {
  17.             $(e).find("a").animate({ marginTop: "0px" }, 250);
  18.         });
  19.         $(e).find("img.shadow").stop().animate({ width: "100%", height: "27px", marginLeft: "0", opacity: 1 }, 250);
  20.     });
  21. });

脚本不复杂,这效果还是很不错的。
效果要领说明:

  • 让图标产生位移,这里使用负外边距
  • 改变阴影图片的宽度、高度、外边距还有透明度

动画的关键脚本如下:

  1. var e = this;
  2.         $(e).find("a").stop().animate({ marginTop: "-14px" }, 250, function() {
  3.             $(e).find("a").animate({ marginTop: "-10px" }, 250);
  4.         });
  5.         $(e).find("img.shadow").stop().animate({ width: "80%", height: "20px", marginLeft: "8px", opacity: 0.25 }, 250);

记得这里的stop()必不可少哦,不然动画会有bug,关于这个问题可以详见,我以前写的文章:
hoverFlow —终止jquery的animation

blog正缺少分享按钮列表,这几天整成个jquery插件发布出去。

(如果您喜欢这篇教程,可以通过支付宝打赏我们1元哦,拜谢!)

跟作者说两句

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-? :) :( :!: 8-O 8)

只剩下板凳了!

  1. riaadmin

    推荐+1