博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery实现的3D缩略图悬停效果
阅读量:7087 次
发布时间:2019-06-28

本文共 3826 字,大约阅读时间需要 12 分钟。

今天我们要告诉你如何创建一些令人兴奋的3D使用CSS3和jQuery悬停效果。这一想法的灵感来自于凉爽的悬停效果,再给客户做网站的时候用的这样的效果,今天就共享出来

在这个效果当中,我将使用的thumbails,就会发现一些更多的信息悬停。将创建一个使用jQuery的结构,将允许的图象出现折叠或弯曲,当他悬停时候。为悬停效果,我们将使用CSS 3D变换。效果如下       

鼠标经过时候

看看火狐下面的效果,鼠标经过的时候展示出3D变换效果

 

thumbnail 的DIV代码如下所示

 

1 
2 3
4 5
6
566 7
124 8
9
10 11
12 13
14 15
16 17
18 19
20 21
22 23

每个缩略图的背视图部分,我们要为每个背景图部分创建与使用JavaScript 类视图的结构如下:

1 
2 3
4
5
6 7
8
9 10
11
12 13
14
15 16
17
18 19
20
21
22 23
24 25
26 27
28 29
30 31

每个背景图鼠标移动的时候都会有各自的形象和作为它的背景图片,因为我们有一个背景嵌套的结构,这将使我们能够控制的他的效果。此外,我们将添加一个覆盖跨度,javascript代码如下

1 $.fn.hoverfold = function( args ) { 2   3     this.each( function() { 4       5         $( this ).children( '.view' ).each( function() { 6           7             var $item   = $( this ), 8                 img     = $item.children( 'img' ).attr( 'src' ), 9                 struct  = '
';10 struct +='
';11 struct +='
';12 struct +='
';13 struct +='
';14 struct +='
';15 struct +='
';16 struct +='
';17 struct +='
';18 struct +='
';19 20 var $struct = $( struct );21 22 $item.find( 'img' ).remove().end().append( $struct ).find( 'div.slice' ).css( 'background-image', 'url(' + img + ')' ).prepend( $( '' ) );23 24 } );25 26 });27 28 };

CSS代码如下

1 .view { 2     width: 316px; 3     height: 216px; 4     margin: 10px; 5     float: left; 6     position: relative; 7     border: 8px solid #fff; 8     box-shadow: 1px 1px 2px rgba(0,0,0,0.05); 9     background: #333;10     perspective: 500px;11 }

3D过度效果CSS代码

1 .view .slice{2     width: 60px;3     height: 100%;4     z-index: 100;5     transform-style: preserve-3d;6     transform-origin: left center;7     transition: transform 150ms ease-in-out;8      9 }

描述部分的CSS代码

1 .view div.view-back{2     width: 50%;3     height: 100%;4     position: absolute;5     right: 0;6     background: #666;7     z-index: 0;8 }

前台风格跨度的代码

1 .view-back span { 2     display: block; 3     float: right; 4     padding: 5px 20px 5px; 5     width: 100%; 6     text-align: right; 7     font-size: 16px; 8     color: rgba(255,255,255,0.6); 9 }10  11 .view-back span:first-child {12     padding-top: 20px;13 }14  15 .view-back a {16     display: bock;17     font-size: 18px;18     color: rgba(255,255,255,0.4);19     position: absolute;20     right: 15px;21     bottom: 15px;22     border: 2px solid rgba(255,255,255,0.3);23     border-radius: 50%;24     width: 30px;25     height: 30px;26     line-height: 22px;27     text-align: center;28     font-weight: 700;29 }30  31 .view-back a:hover {32     color: #fff;33     border-color: #fff;34 }

有的浏览器不支持3D,我们需要额外的定义这个效果

.view {    overflow: hidden;} .view:hover img {    left: -85px;} .view div.view-back {    background: #666;}

 

 

 

 

 

转载地址:http://ptyql.baihongyu.com/

你可能感兴趣的文章
mysql并发插入重复数据问题的解决思路
查看>>
MySQL 5.7.x修改root默认密码(CentOS下)
查看>>
Linux下动态加载SO文件
查看>>
Mysql创建、删除用户
查看>>
我的友情链接
查看>>
MySQL-MySQL常用命令
查看>>
Linux iptraf 网络监控
查看>>
Swift::8::枚举
查看>>
ZABBIX web端 显示 server 运行状态 不
查看>>
Aspose.Words使用教程之在文档中找到并替换文本
查看>>
ORACLE官方文档如何学习
查看>>
google guava包集合类HashMultiset的基本用法
查看>>
linux 进程和线程
查看>>
网工考试!
查看>>
Spring Boot 项目脚本(启动、停止、重启、状态)
查看>>
专访路彦雄:理解语言其实还是很难的
查看>>
Windows 2003服务器群集(负载均衡)简介
查看>>
日程日历示例
查看>>
linux下解决对外udp***
查看>>
fluuter 浮动 和 触摸
查看>>