
效果说明:鼠标滑过图标,图标向上移动,同时,底部的阴影开始变淡,鼠标移开图标,效果复位。
演示:http://www.36ria.com/demo/Realistic-Hover-Effect/
点此下载制作过程
1、准备图标和底部阴影,示例包内已经包含了,可以参照着制作。
2、构建如下html代码:
- <ul id="nav-shadow">
- <li><a href="#" title="分享到嘀咕"><img src="images/digu.png" width="64" height="64" /></a></li>
- <li><a href="#" title="分享到新浪微博"><img src="images/sinaminiblog.png" width="64" height="64" /></a></li>
- <li><a href="#" title="分享到做啥"><img src="images/zuosa.png" width="64" height="64" /></a></li>
- <li><a href="#" title="分享到人间"><img src="images/renjian.png" width="64" height="64" /></a></li>
- <li><a href="#" title="分享到gbuzz"><img src="images/gbuzz.png" width="64" height="64" /></a></li>
- <li><a href="#" title="分享到鲜果"><img src="images/xianguo.png" width="64" height="64" /></a></li>
- <li><a href="#" title="分享到9dian"><img src="images/9dian.png" width="64" height="64" /></a></li>
- </ul>
非常简单的列表结构。
3、构建如下css样式:
- #nav-shadow {
- margin: 0 auto 50px auto;
- padding: 50px 0 0 127px;
- width: 650px;
- min-height: 130px;
- text-align: center;
- background: url(../images/page-shadow.jpg) top center no-repeat;
- list-style: none;
- }
- #nav-shadow li {
- margin-right: 15px;
- width: 81px;
- height: 76px;
- position: relative;
- float: left;
- }
- #nav-shadow a{
- margin: 0 auto;
- width: 64px;
- height: 64px;
- text-indent: -9999px;
- overflow: hidden;
- display: block;
- position: relative;
- z-index: 2;
- }
- #nav-shadow a img{
- display:block;
- }
- /*按钮阴影*/
- #nav-shadow li img.shadow {
- margin: 0 auto;
- position: absolute;
- bottom: 0;
- left: 0;
- z-index: 1;
- }
4、编写javascript脚本:
- $(document).ready(function() {
- //给每个li添加阴影图片
- $("#nav-shadow li").append('<img class="shadow" src="images/icons-shadow.jpg" width="81" height="27" alt="" />');
- // 鼠标滑过按钮,动画开始
- $("#nav-shadow li").hover(function() {
- var e = this;
- $(e).find("a").stop().animate({ marginTop: "-14px" }, 250, function() {
- $(e).find("a").animate({ marginTop: "-10px" }, 250);
- });
- $(e).find("img.shadow").stop().animate({ width: "80%", height: "20px", marginLeft: "8px", opacity: 0.25 }, 250);
- },function(){
- var e = this;
- $(e).find("a").stop().animate({ marginTop: "4px" }, 250, function() {
- $(e).find("a").animate({ marginTop: "0px" }, 250);
- });
- $(e).find("img.shadow").stop().animate({ width: "100%", height: "27px", marginLeft: "0", opacity: 1 }, 250);
- });
- });
脚本不复杂,这效果还是很不错的。
效果要领说明:
- 让图标产生位移,这里使用负外边距
- 改变阴影图片的宽度、高度、外边距还有透明度
动画的关键脚本如下:
- var e = this;
- $(e).find("a").stop().animate({ marginTop: "-14px" }, 250, function() {
- $(e).find("a").animate({ marginTop: "-10px" }, 250);
- });
- $(e).find("img.shadow").stop().animate({ width: "80%", height: "20px", marginLeft: "8px", opacity: 0.25 }, 250);
记得这里的stop()必不可少哦,不然动画会有bug,关于这个问题可以详见,我以前写的文章:
hoverFlow —终止jquery的animation
blog正缺少分享按钮列表,这几天整成个jquery插件发布出去。

推荐+1