博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一款基于css3的3D图片翻页切换特效
阅读量:5036 次
发布时间:2019-06-12

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

今天给大家分享一款基于css3的3D图片翻页切换特效。单击图片下方的滑块会切换上方的图片。动起你的鼠标试试吧,效果图如下:

   

实现的代码。

html代码:

Photograph of a woman's face under a Bedouin headress
Bedouin
Photograph of a man's blue-green-eyes
Blue-green
Photograph of dramatic fake eyelashes in closeup
Dramatic Fake
Photograph of a girl in heavy snow
Snow

css3代码:

#imgdex        {
position: relative; -webkit-perspective: 4000px; perspective: 4000px; width: 80%; max-width: 1200px; margin: 0 auto; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; font-family: Avenir, Calibri, sans-serif; padding-top: 45%; } #imgdex figure, #imgdex figure figcaption {
position: absolute; -webkit-transition: 1s ease-in-out; transition: 1s ease-in-out; } #imgdex figure {
top: 0; left: 120px; -webkit-transform-origin: left bottom; -ms-transform-origin: left bottom; transform-origin: left bottom; width: 70%; } #imgdex figure img {
width: 100%; } #imgdex figure figcaption {
bottom: 0; font-size: 1.2rem; left: -8rem; opacity: 0; } #imgdex figure:last-of-type {
-webkit-transform: rotateX(5deg); transform: rotateX(5deg); box-shadow: 0px 0px 200px rgba(0,0,0,0.5); } form {
text-align: center; padding-bottom: 2rem; } form input[type="range"] {
width: 50%; }

js代码:

var imgdex = document.getElementById('imgdex'), figs = imgdex.querySelectorAll('figure'), imgcount = figs.length;        ranger.max = imgcount;        ranger.value = imgcount;        for (var i = 0; i < imgcount - 1; i++) {            if (window.CP.shouldStopExecution(1)) {                break;            }            var rotation = parseFloat(-92 + '.' + (imgcount - i));            figs[i].style.webkitTransform = 'rotateX(' + rotation + 'deg)';            figs[i].style.transform = 'rotateX(' + rotation + 'deg)';        }        window.CP.exitedLoop(1);        document.querySelector('#imgdex figure:last-child figcaption').style.opacity = 1;        function updateImage(slider) {            var currentimg = document.querySelector('#imgdex figure:nth-child(' + slider.value + ')');            if (slider.oldvalue !== undefined) {                var oldimg = document.querySelector('#imgdex figure:nth-child(' + slider.oldvalue + ')');            } else {                slider.oldvalue = imgcount;                var oldimg = document.querySelector('#imgdex figure:nth-child(' + slider.oldvalue + ')');            }            if (slider.value < slider.oldvalue) {                currentimg.style.webkitTransform = 'rotateX(' + slider.value + 'deg)';                currentimg.style.transform = 'rotateX(' + slider.value + 'deg)';            }            if (slider.value > slider.oldvalue) {                var rotation = parseFloat(-92 + '.' + (imgcount - slider.value));                oldimg.style.webkitTransform = 'rotateX(' + rotation + 'deg)';                oldimg.style.transform = 'rotateX(' + rotation + 'deg)';            }            if (slider.value !== slider.oldvalue) {                currentimg.querySelector('figcaption').style.opacity = 1;                oldimg.querySelector('figcaption').style.opacity = 0;            }        }

via:

转载于:https://www.cnblogs.com/liaohuolin/p/4251863.html

你可能感兴趣的文章
CentOS 安装配置TFTP
查看>>
VMware中ubuntu忘记密码的解决办法
查看>>
navicat for mysql快捷键
查看>>
OI再见
查看>>
自定义单选框或者复选框
查看>>
xml知识点
查看>>
隐式类型转换
查看>>
目前国内几大著名报表软件(2014更新)
查看>>
我想要得那块牌—记烟台大学第一届"ACM讲堂"
查看>>
【LaTeX排版】LaTeX论文模版
查看>>
事务管理
查看>>
Http协议中Cookie详细介绍
查看>>
15Spring泛型依赖注入
查看>>
[k8s]k8s api-server启动systemd参数分析
查看>>
Visio 入门教程
查看>>
VxLAN
查看>>
mysql-5.7.17的最新安装教程
查看>>
mysql 如何实现跨裤查询
查看>>
深度工作:充分使用每一份脑力
查看>>
redis的string类型操作命令
查看>>