网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。
本篇文章给大家带来的内容是用css+js实现简单的褪色幻灯片动画效果(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。
下面我们就通过代码来一步步实现幻灯片的垂直旋转切换动画效果:
1、建立html文件,编写demo
首先我们要在页面上设置图像列表,包含在div盒子中。类似于以下内容:
<div id="stage">
<div id="rotator" style="-webkit-animation-name: rotator; -moz-animation-name: rotator;">
<a href="1.jpg"><img src="img/1.jpg" width="320" height="180"></a>
<a href="2.jpg"><img src="img/2.jpg" width="320" height="180"></a>
<a href="3.jpg"><img src="img/3.jpg" width="320" height="180"></a>
<a href="4.jpg"><img src="img/4.jpg" width="320" height="180"></a>
<a href="5.jpg"><img src="img/5.jpg" width="320" height="180"></a>
<a href="6.jpg"><img src="img/6.jpg" width="320" height="180"></a>
<a href="7.jpg"><img src="img/7.jpg" width="320" height="180"></a>
<a href="8.jpg"><img src="img/8.jpg" width="320" height="180"></a>
</div>
</div>
内联样式@keyframes属性引用下面的动画 。它需要内联而不是CSS,以便我们能够使用JavaScript停止和重新启动动画。
2、使用CSS来叠加图像,在3D空间中布置照片
CSS样式用于定位多张照片,使得照片在垂直方向切换
#stage {
margin: 5em auto 1em 50%;
height: 240px;
-webkit-perspective: 1200px;
-webkit-perspective-origin: 0 90px;
-moz-perspective: 1200px;
-moz-perspective-origin: 0 90px;
-ms-perspective: 1200px;
-ms-perspective-origin: 0 90px;
}
#rotator a {
position: absolute;
left: -151px;
-moz-transform-style: preserve-3d;
}
#rotator a img {
padding: 10px;
border: 1px solid #ccc;
background: #fff;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
}
#rotator a:nth-of-type(1) img {
-webkit-transform: rotateX(-90deg) translateZ(100px);
-moz-transform: rotateX(-90deg) translateZ(100px);
-ms-transform: rotateX(-90deg) translateZ(100px);
}
#rotator a:nth-of-type(2) img {
-webkit-transform: translateZ(100px);
-moz-transform: translateZ(100px);
-ms-transform: translateZ(100px);
}
#rotator a:nth-of-type(3) img {
-webkit-transform: rotateX(90deg) translateZ(100px);
-moz-transform: rotateX(90deg) translateZ(100px);
-ms-transform: rotateX(90deg) translateZ(100px);
}
#rotator a:nth-of-type(n+4) { display: none; }3、添加动画效果
实现3D的切换效果
@-webkit-keyframes rotator {
from { -webkit-transform: rotateX(0deg); }
to { -webkit-transform: rotateX(90deg); }
}
@-moz-keyframes rotator {
from { -moz-transform: rotateX(0deg); }
to { -moz-transform: rotateX(90deg); }
}
@-ms-keyframes rotator {
from { -ms-transform: rotateX(0deg); }
to { -ms-transform: rotateX(90deg); }
}
#rotator {
-webkit-transform-origin: 0 101px;
-webkit-transform-style: preserve-3d;
-webkit-animation-timing-function: cubic-bezier(1, 0.2, 0.2, 1);
-webkit-animation-duration: 2s;
-webkit-animation-delay: 1s;
-moz-transform-origin: 0 101px;
-moz-transform-style: preserve-3d;
-moz-animation-timing-function: cubic-bezier(1, 0.2, 0.2, 1);
-moz-animation-duration: 2s;
-moz-animation-delay: 1s;
-ms-transform-origin: 0 101px;
-ms-transform-style: preserve-3d;
-ms-animation-timing-function: cubic-bezier(1, 0.2, 0.2, 1);
-ms-animation-duration: 2s;
-ms-animation-delay: 1s;
}
#rotator:hover {
-webkit-animation-play-state: paused;
-moz-animation-play-state: paused;
-ms-animation-play-state: paused;
}4、 JavaScript添加动画控制器
document.addEventListener("DOMContentLoaded", function() {
var rotateComplete = function(e) {
with(target.style) {
webkitAnimationName = MozAnimationName = msAnimationName = "";
}
target.insertBefore(arr[arr.length - 1], arr[0]);
setTimeout(function(el) {
with(el.style) {
webkitAnimationName = MozAnimationName = msAnimationName = "rotator";
}
}, 0, target);
};
var target = document.getElementById("rotator");
var arr = target.getElementsByTagName("a");
target.addEventListener("webkitAnimationEnd", rotateComplete, false);
target.addEventListener("animationend", rotateComplete, false);
target.addEventListener("MSAnimationEnd", rotateComplete, false);
}, false);5、效果展示
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
相关文章推荐:
css实现三面立体旋转无限轮播图动画
css+js如何在幻灯片上添加文字?实现幻灯片的旋转切换
以上就是css+js实现垂直旋转切换的幻灯片动画效果(附代码)的详细内容,更多请关注php中文网其它相关文章!
网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。
关键词:css+js完成垂直旋转切换的幻灯片动画效果(附代码)