使用jQuery和CSS实现超酷缩略图悬浮逼近效果

今天我们为大家介绍一个使用jQuery实现的缩略图逼近效果。主要的想法是当鼠标接近缩略图后,当前的缩略图会放大,并且周围相邻的缩略图也会相应变大一些,当你移动鼠标时,会影响移动方向上的缩略图大小变化,具体效果请大家查看演示。

实例下载

你可以在这个网站http://porscheeveryday.com/ 看到这个效果的原型,这里我们使用jQuery实现了一个jQuery版本的基本效果,希望大家喜欢!

在这个教程中,我们将使用James Padolsey的 jQuery Proximity plugin。

HTML标签

以下代码生成一个无序的缩略图并且添加相关图片描述:

<ul id="pe-thumbs" class="pe-thumbs"> 



    <li> 




        <a href="#"> 




            <img src="images/thumbs/1.jpg" /> 




            <div class="pe-description"> 




                <h3>Time</h3> 




                <p>Since time, and his predestinated end</p> 




            </div></a> 




    </li> 




    <li><!-- ... --></li> 




</ul> 

CSS样式

以下定义了缩略图居中,并且添加背景图片使得图片产生透明度变化效果

pe-thumbs{  


    width: 900px;  


    height: 400px;  


    margin: 20px auto;  


    position: relative;  


    background: transparent url(../images/3.jpg) top center;  


    border: 5px solid #fff;  


    box-shadow: 0 1px 2px rgba(0,0,0,0.2);  


}  

同时我们也使用一个RGBA的背景颜色添加一个小点缀到背景图片。

.pe-thumbs:before {  


    content: "";  


    display: block;  


    position: absolute;  


    top: 0px;  


    left: 0px;  


    width: 100%;  


    height: 100%;  


    background: rgba(255,102,0,0.2);  


}  

列表中的项目将会向左float,并且我们设置锚定和图片的相对位置:

.pe-thumbs li{  


    float: left;  


    position: relative;  


}  


.pe-thumbs li a,  


.pe-thumbs li a img{  


    display: block;  


    position: relative;  


}  

每一个缩略图都初始100px并且透明度为0.2:

.pe-thumbs li a img{  


    width: 100px;  


    opacity: 0.2;  


} 

最后我们定义描述内容的样式:

.pe-description h3{  


    padding: 10px 10px 0px 10px;  


    line-height: 20px;  


    font-family: 'BebasNeueRegular', 'Arial Narrow', Arial, sans-serif;  


    font-size: 22px;  


    margin: 0px;  


}  


.pe-description p{  


    padding: 10px 0px;  


    margin: 10px;  


    font-size: 11px;  


    font-style: italic;  


    border-top: 1px solid rgba(255,255,255,0.3);  


}  

JavaScript代码

主要的想法是当鼠标悬浮后计算所有的描述容器大小和位置。主要依赖于缩略图的最大尺寸及其居于主要wrapper中的位置。例如,当缩略图接近边缘,我们就使得描述区域显示在缩略图左边

然后我们将帮定逼近事件到图片。主要想法是根据鼠标位置来变化图片大小。一旦图片达到最大尺寸,我们设置z-index最高,因此位于最高层次,并且显示分开的描述。

相关推荐