使用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最高,因此位于最高层次,并且显示分开的描述。
相关推荐
黑夜流星 2020-06-28
jollyhope 2020-05-10
cbao 2020-02-14
稳哥的小灶 2019-12-27
cherayliu 2019-12-22
TinyDolphin 2019-12-11
gongzhiyao0 2011-08-16
ruizhenggang 2011-08-13
易辰Android 2011-08-10
ChibiMarukoChan 2015-11-18
python的学习之路 2019-04-30
0bytes 2019-04-30
LoveLifeLoveTech 2019-04-30
liuwendao 2018-07-14
xiongli 2019-03-27
zongyuewang 2019-03-01
Purgatory00 2019-04-12
HuangXiaoChuan 2016-03-14
齐天 2019-03-18