亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

HTML5 3D書本翻頁動畫

这是一款十分炫酷的HTML5 3D书本翻页动画,效果相对比较简单,拖拽鼠标模拟用手翻页,更漂亮的是翻页过程中,呈现出逼真的3D立体效果。书本中的文字和图片也会3D展示,非常酷。

https://img1.sycdn.imooc.com//5b0bc6410001e18206610342.jpg

在线演示

CSS代码

.book {	width: 300px;	height: 300px;	margin-top: -150px;	position: absolute;	left: 50%;	top: 50%;	-webkit-transform: rotateX(60deg);	-moz-transform: rotateX(60deg);	-ms-transform: rotateX(60deg);	-o-transform: rotateX(60deg);	transform: rotateX(60deg);	-webkit-user-select: none;	-moz-user-select: none;	-ms-user-select: none;	-o-user-select: none;	user-select: none;
}.page {	width: 300px;	height: 300px;	padding: 1em;	position: absolute;	left: 0;	top: 0;	text-indent: 2em;
}.front {	background-color: #d93e2b;
}.back {	background-color: #fff;
}.front-cover {	cursor: move;	-webkit-transform-origin: 0 50%;	-moz-transform-origin: 0 50%;	-ms-transform-origin: 0 50%;	-o-transform-origin: 0 50%;	transform-origin: 0 50%;	-webkit-transform: rotateY(0deg);	-moz-transform: rotateY(0deg);	-ms-transform: rotateY(0deg);	-o-transform: rotateY(0deg);	transform: rotateY(0deg);
}.front-cover .back {	background-image: url(mdn.png);	background-repeat: no-repeat;	background-position: 50% 50%;	-webkit-transform: translateZ(3px);	-moz-transform: translateZ(3px);	-ms-transform: translateZ(3px);	-o-transform: translateZ(3px);	transform: translateZ(3px);
}.back-cover .back {	-webkit-transform: translateZ(-3px);	-moz-transform: translateZ(-3px);	-ms-transform: translateZ(-3px);	-o-transform: translateZ(-3px);	transform: translateZ(-3px); 
}.p3d {	-webkit-transform-style: preserve-3d;	-moz-transform-style: preserve-3d;	-ms-transform-style: preserve-3d;	-o-transform-style: preserve-3d;	transform-style: preserve-3d;
}.flip {	-webkit-transform: rotateY(180deg);	-moz-transform: rotateY(180deg);	-ms-transform: rotateY(180deg);	-o-transform: rotateY(180deg);	transform: rotateY(180deg);
}.dino,.shadow {	width: 196px;	height: 132px;	position: absolute;	left: 60px;	top: 60px;	-webkit-transform-origin: 0 100%;	-moz-transform-origin: 0 100%;	-ms-transform-origin: 0 100%;	-o-transform-origin: 0 100%;	transform-origin: 0 100%;
}.dino {	background: url(dino.png) no-repeat;

}.shadow {	background: url(shadow.png) no-repeat;
}

JavaScript代码

(function (window, document) {	var prefixes = ['Webkit', 'Moz', 'ms', 'O', ''],
		book = document.querySelectorAll('.book')[0],
		page = document.querySelectorAll('.front-cover')[0],
		dino = document.querySelectorAll('.dino')[0],
		shadow = document.querySelectorAll('.shadow')[0],
		hold = false,
		centerPoint = window.innerWidth / 2,
		pageSize = 300,
		clamp = function (val, min, max) {			return Math.max(min, Math.min(val, max));
		};

	page.onmousedown = function () {
		hold = true;
	};	window.onmouseup = function () {		if (hold) {
			hold = false;
		}
	};	window.onresize = function () {
		centerPoint = window.innerWidth / 2;
	};	window.onmousemove = function (evt) {		if (!hold) {			return;
		}		var angle = clamp((centerPoint - evt.pageX + pageSize) / pageSize * -90, -180, 0),
			i, j;		for (i = 0, j = prefixes.length; i < j; i++) {
			book.style[prefixes[i] + 'Transform'] = 'rotateX(' + (60 + angle / 8) + 'deg)';
			page.style[prefixes[i] + 'Transform'] = 'rotateY(' + angle + 'deg)';
			dino.style[prefixes[i] + 'Transform'] = 'rotateX(' + (angle / 2) + 'deg)';
			shadow.style[prefixes[i] + 'Transform'] = 'translateZ(1px) skewX(' + (angle / 8) + 'deg)';
		}
	};

})(window, document);

在线演示源码下载

以上就是HTML5 3D书本翻页动画的示例代码,有兴趣的朋友可以下载完整代码研究。

本文链接:http://www.codeceo.com/article/html5-3d-book-paging.html
本文作者:码农网 – 小峰

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消