javascript图片展示墙特效

查看效果:http://hovertree.com/code/javascript/pwl4bhoi.htm代码如下:1<!DOCTYPEhtml>2<html>

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

javascript图片展示墙特效此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“”,获取验证码。在微信里搜索“”或者“”或者微信扫描右侧二维码都可以关注本站微信公众号。

查看效果:http://hovertree.com/code/javascript/pwl4bhoi.htm

代码如下:

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5     <title>何问起海报画廊</title><base target="_blank" />
  6     <style type="text/css">
  7         * {
  8             padding: 0;
  9             margin: 0;
 10         }
 11 
 12         body {
 13             background-color: #333;
 14             color: yellowgreen;
 15             font-family: 'Avenir Next', 'Lantinghei SC';
 16             font-size: 14px;
 17             -webkit-font-smoothing: antialiased;
 18             -moz-osx-font-smoothing: grayscale;
 19         }
 20         a{color:yellow}
 21         .wrap {
 22             width: 100%;
 23             height: 600px;
 24             position: absolute;
 25             top: 50%;
 26             margin-top: -300px;
 27             background-color: #333;
 28             overflow: hidden;
 29             perspective: 800px;
 30             -webkit-perspective: 800px;
 31         }
 32 
 33         .photo {
 34             position: absolute;
 35             width: 260px;
 36             height: 320px;
 37             z-index: 1;
 38             box-shadow: 0 0 1px rgba(0, 0, 0, .01);
 39             transition: all .5s;
 40             -moz-transition: all .5s;
 41             -webkit-transition: all .5s;
 42             -o-transition: all .5s;
 43             left: 50%;
 44             top: 50%;
 45             margin: -160px 0 0 -130px;
 46         }
 47 
 48             .photo .photo-wrap .side {
 49                 position: absolute;
 50                 width: 100%;
 51                 height: 100%;
 52                 background-color: #eee;
 53                 top: 0;
 54                 right: 0;
 55                 padding: 20px;
 56                 box-sizing: border-box;
 57                 -moz-box-sizing:border-box;
 58                 backface-visibility: hidden;
 59                 -webkit-backface-visibility: hidden;
 60                 -moz-backface-visibility: hidden;
 61                 -ms-backface-visibility: hidden;
 62             }
 63 
 64             .photo .photo-wrap .side-front {
 65                 transform: rotateY(0deg);
 66                 -webkit-transform: rotateY(0deg);
 67                 -moz-transform: rotateY(0deg);
 68                 -o-transform: rotateY(0deg);
 69                 -ms-transform: rotateY(0deg);
 70             }
 71 
 72                 .photo .photo-wrap .side-front .image {
 73                     width: 100%;
 74                     height: 250px;
 75                     line-height: 250px;
 76                     overflow: hidden;
 77                 }
 78 
 79                     .photo .photo-wrap .side-front .image img {
 80                         width: 100%;
 81                         vertical-align: middle;
 82                     }
 83 
 84                 .photo .photo-wrap .side-front .caption {
 85                     text-align: center;
 86                     font-size: 16px;
 87                     line-height: 50px;
 88                 }
 89 
 90             .photo .photo-wrap .side-back {
 91                 transform: rotateY(180deg);
 92                 -webkit-transform: rotateY(180deg);
 93                 -moz-transform: rotateY(180deg);
 94                 -o-transform: rotateY(180deg);
 95                 -ms-transform: rotateY(180deg);
 96             }
 97 
 98                 .photo .photo-wrap .side-back .desc {
 99                     color: #666;
100                     font-size: 14px;
101                     line-height: 1.5em;
102                 }
103 
104         .photo_center {
105             top: 50%;
106             left: 50%;
107             margin: -160px 0 0 -130px;
108             z-index: 2;
109         }
110 
111         .photo .photo-wrap {
112             position: absolute;
113             width: 100%;
114             height: 100%;
115             transform-style: preserve-3d;
116             -webkit-transform-style: preserve-3d;
117             transition: all .6s ease-in-out;
118             -webkit-transition: all .6s ease-in-out;
119             -moz-transition: all .5s;
120             -o-transition: all .5s;
121             transform-origin: 0% 50% 0px;
122             -ms-transform-origin: 0% 50% 0px;
123             -o-transform-origin: 0% 50% 0px;
124             -webkit-transform-origin: 0% 50% 0px;
125             -moz-transform-origin: 0% 50% 0px;
126         }
127 
128         .photo_front .photo-wrap {
129             transform: translate(0px, 0px) rotateY(0deg);
130             -webkit-transform: translate(0px, 0px) rotateY(0deg);
131             -moz-transform: translate(0px, 0px) rotateY(0deg);
132             -o-transform: translate(0px, 0px) rotateY(0deg);
133             -ms-transform: translate(0px, 0px) rotateY(0deg);
134         }
135 
136         .photo_back .photo-wrap {
137             transform: translate(260px, 0px) rotateY(180deg);
138             -webkit-transform: translate(260px, 0px) rotateY(180deg);
139             -moz-transform: translate(260px, 0px) rotateY(180deg);
140             -o-transform: translate(260px, 0px) rotateY(180deg);
141             -ms-transform: translate(260px, 0px) rotateY(180deg);
142         }
143 
144         @font-face {
145             font-family: 'icomoon';
146             src: url('images/icomoon.woff') format('woff');
147             font-weight: normal;
148             font-size: normal;
149         }
150 
151         .nav {
152             position: absolute;
153             width: 80%;
154             left: 10%;
155             height: 30px;
156             line-height: 30px;
157             bottom: 20px;
158             z-index: 3;
159             text-align: center;
160         }
161 
162             .nav .i {
163                 display: inline-block;
164                 width: 30px;
165                 height: 30px;
166                 cursor: pointer;
167                 background-color: #aaa;
168                 text-align: center;
169                 border-radius: 50px;
170                 transform: scale(.5);
171                 -webkit-transform: scale(.5);
172                 -moz-transform: scale(.5);
173                 -o-transform: scale(.5);
174                 -ms-transform: scale(.5);
175                 transition: all .5s;
176                 -webkit-transition: all .5s;
177                 -moz-transition: all .5s;
178                 -o-transition: all .5s;
179             }
180 
181                 .nav .i:after {
182                     content: '\e965';
183                     font-family: 'icomoon';
184                     font-size: 80%;
185                     display: inline-block;
186                     line-height: 30px;
187                     text-align: center;
188                     color: #fff;
189                     opacity: 0;
190                 }
191 
192             .nav .i_current {
193                 transform: scale(1);
194                 -webkit-transform: scale(1);
195                 -moz-transform: scale(1);
196                 -o-transform: scale(1);
197                 -ms-transform: scale(1);
198             }
199 
200                 .nav .i_current:after {
201                     opacity: 1;
202                 }
203 
204             .nav .i_back {
205                 background-color: #555;
206                 transform: rotateY(180deg);
207                 -webkit-transform: rotateY(180deg);
208                 -moz-transform: rotateY(180deg);
209                 -o-transform: rotateY(180deg);
210                 -ms-transform: rotateY(180deg);
211             }
212         #wrap {color:#333
213         }
214     </style>
215 </head>
216 <body onselectstart="return false;" style="-moz-user-select:none;">
217     <div>何问起海报走廊 <a href="http://hoverteee.com">首页</a> <a href="http://hoverteee.com/texiao/">特效</a> <a href="http://hovertree.com/code/javascript/pwl4bhoi.htm">代码</a> <a href="http://hovertree.com/h/bjaf/punh2bn7.htm">注释</a> <a href="http://hovertree.com/h/bjaf/h5aljrea.htm">下载</a></div>
218     <div class="wrap" id="wrap">何问起</div>
219     <script type="text/javascript" src="http://hovertree.com/texiao/js/15/images/data.js"></script>
220     <script type="text/javascript">
221         function g(selector) { return selector.substring(0, 1) == "." ? document.getElementsByClassName(selector.substring(1)) : document.getElementById(selector.substring(1)) } function random(range) { var min = Math.min(range[0], range[1]); var max = Math.max(range[0], range[1]); var diff = max - min; var number = Math.round(Math.random() * diff) + min; return number } function addPhotos() { var _wrap = ""; var _nav = ""; for (var i = 0; i < data.length; i++) { _wrap += '<div class="photo  photo_front" onclick="turn(this)" id="photo_' + (i + 1) + '"><div class="photo-wrap"><div class="side side-front"><p class="image"><img src="' + data[i].img + '"></p><p class="caption">' + data[i].caption + '</p></div><div class="side side-back"><p class="desc">' + data[i].desc + "</p></div></div></div></div>"; _nav += '<span id="nav_' + (i + 1) + '" onclick="turn(g(\'#photo_' + (i + 1) + '\'))" class="i"></span>' } var navigation = '<div class="nav">' + _nav + "</div>"; g("#wrap").innerHTML = _wrap + navigation; rsort(random([1, data.length])) } addPhotos(); function range() { var range = { left: { x: [], y: [] }, right: { x: [], y: [] } }; var wrap = { width: g("#wrap").clientWidth, height: g("#wrap").clientHeight }; var photo = { width: g(".photo")[0].clientWidth, height: g(".photo")[0].clientHeight }; range.left.x = [0 - photo.width / 4 + 130, wrap.width / 2 - photo.width * 5 / 4 + 130]; range.left.y = [0 - photo.height / 4 + 160, wrap.height - photo.height * 3 / 4 + 160]; range.right.x = [wrap.width / 2 + photo.width / 4 + 130, wrap.width - photo.width / 4 + 130]; range.right.y = range.left.y; return range } function rsort(n) { var _photo = g(".photo"); var photos = []; for (var i = 0; i < _photo.length; i++) { _photo[i].className = "photo photo_front"; _photo[i].style.left = ""; _photo[i].style.top = ""; _photo[i].style["transform"] = _photo[i].style["-webkit-transform"] = "scale(1.3)"; photos.push(_photo[i]) } var photo_center = g("#photo_" + n); photo_center.className += " photo_center"; photo_center = photos.splice(n - 1, 1); var photos_left = photos.splice(0, Math.ceil(photos.length / 2)); var photos_right = photos; var ranges = range(); for (var j = 0; j < photos_left.length; j++) { var photo = photos_left[j]; photo.style.left = random(ranges.left.x) + "px"; photo.style.top = random(ranges.left.y) + "px"; photo.style["transform"] = photo.style["-webkit-transform"] = "rotate(" + random([-150, 150]) + "deg) scale(1)" } for (var s = 0; s < photos_right.length; s++) { var photo = photos_right[s]; photo.style.left = random(ranges.right.x) + "px"; photo.style.top = random(ranges.right.y) + "px"; photo.style["transform"] = photo.style["-webkit-transform"] = "rotate(" + random([-150, 150]) + "deg) scale(1)" } var navs = g(".i"); for (var k = 0; k < navs.length; k++) { navs[k].className = "i" } g("#nav_" + n).className += " i_current" } function turn(elem) { var cls = elem.className; var n = elem.id.split("_")[1]; if (!/photo_center/.test(cls)) { return rsort(n) } if (/photo_front/.test(cls)) { cls = cls.replace(/photo_front/, "photo_back"); g("#nav_" + n).className += " i_back" } else { cls = cls.replace(/photo_back/, "photo_front"); g("#nav_" + n).className = g("#nav_" + n).className.replace(/\s*i_back\s*/, " ") } elem.className = cls };
222     </script>
223 </body>
224 </html>

网页特效:http://www.cnblogs.com/roucheng/p/texiao.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120662.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java先序中序后序遍历二叉树_二叉树的前序中序后续

    java先序中序后序遍历二叉树_二叉树的前序中序后续1.前序遍历    前序遍历(DLR,lchild,data,rchild),是二叉树遍历的一种,也叫做先根遍历、先序遍历、前序周游,可记做根左右。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。若二叉树为空则结束返回,否则:(1)访问根结点。(2)前序遍历左子树。(3…

  • phpstorm 激活码密钥无效(JetBrains全家桶)

    (phpstorm 激活码密钥无效)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • ETL数据同步工具Kettle简介

    ETL数据同步工具Kettle简介很多时候,我们需要将一个系统的数据同步到另外一个系统中,两个系统的数据库可能不同,ETL数据同步工具Kettle可能轻松帮我们实现,该功能,而且还可以定时执行数据同步任务。ETL数据同步工具Kettle使用Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle中文名称叫水壶,该项目的主程序

  • 什么是IDOR(不安全的直接对象引用)

    什么是IDOR(不安全的直接对象引用)自从2010年开始,不安全的直接对象引用(IDOR)就已经成为了OWASPTop10Web应用安全风险中影响程度排名第四的安全漏洞了。IDOR将允许一名授权用户获取其他用户的信息,意指一个已经授权的用户通过更改访问时的一个参数,从而访问到了原本其并没有得到授权的对象。Web应用往往在生成Web页面或服务时会用它的真实名字,且并不会对所有目标对象的请求访问进行用户权限检测,所以这就造成了不安…

  • Java NIO与IO的差别和比較

    Java NIO与IO的差别和比較

  • python把数字转换为字符串_python中将列表转化为字符串

    python把数字转换为字符串_python中将列表转化为字符串要将数字转换为字符串的方法有三个;第一是使用str()函数直接转换,然后用加号来连接前后的字符串;二是使用字符串的格式说明符;三是使用字符串的格式化函数.format()。

    2022年10月12日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号