JS实现图片翻书效果

<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>JS实现图片翻书效果</title>
		<META http-equiv=imagetoolbar content=no>
		<STYLE type=text/css>
			#center {
				LEFT: 50%;
				POSITION: absolute;
				TOP: 50%
			}
			#DHTMLBOOK {
				BACKGROUND: #000;
				LEFT: -210px;
				VISIBILITY: hidden;
				WIDTH: 420px;
				POSITION: relative;
				TOP: -160px;
				HEIGHT: 320px
			}
			#TXTBOX {
				FONT-SIZE: 0.8em;
				WIDTH: 410px;
				COLOR: #aba193;
				FONT-FAMILY: verdana;
				POSITION: absolute;
				TOP: 320px;
				TEXT-ALIGN: center
			}
			.page {
				OVERFLOW: hidden;
				BORDER-LEFT: #000000 1px solid;
				WIDTH: 50%;
				CURSOR: pointer;
				POSITION: absolute;
				HEIGHT: 100%
			}
			.right {
				BORDER-RIGHT: #000000 1px solid;
				LEFT: 50%
			}
			.turn {
				BACKGROUND: #000000
			}
			.img {
				WIDTH: 200%;
				POSITION: absolute;
				HEIGHT: 100%
			}
		</STYLE>

		<SCRIPT type=text/javascript>
			<!--

			document.onselectstart = function () {
				return false;
			}

			var nI = 0;
			var kI = 0;
			var run = false;

			function setOpacity(obj, o) {
				if (o < 0)
					o = 0;
				else if (o > 100)
					o = 100;
				if (obj.filters)
					obj.filters.alpha.opacity = o;
				else
					obj.style.opacity = o / 100;
			}

			function TPR__(p) {
				P1.style.left = 50 - (2.5 * p) + "%";
				P1.style.width = (2.5 * p) + "%";
				setOpacity(P1i, .5 * p * p);
				if (p == 20)
					run = false;
			}

			function TPR_(p) {
				P2.style.width = 50 - (2.5 * p) + "%";
				setOpacity(P2i, 100 - .5 * (p * p));
				if (p == 20) {
					P2i.src = IMGSRC[kI].src;
					setOpacity(P2i, 100);
					P2.style.width = "50%";
					for (var i = 1; i <= 20; i++)
						setTimeout("TPR__(" + i + ")", i * 32);
				}
			}

			function TPR() {
				if (!run) {
					run = true;
					P01i.src = IMGSRC[kI].src;
					P1.style.width = 0;
					kI++;
					if (kI >= nI)
						kI = 0;
					titLe(kI);
					P02i.src = IMGSRC[kI].src;
					P1i.src = IMGSRC[kI].src;
					for (var i = 1; i <= 20; i++)
						setTimeout("TPR_(" + i + ")", i * 32);
				} else
					setTimeout("TPR()", 100);
			}

			function TPL__(p) {
				P2.style.width = (2.5 * p) + "%";
				setOpacity(P2i, .5 * p * p);
				if (p == 20)
					run = false;
			}

			function TPL_(p) {
				P1.style.left = (2.5 * p) + "%";
				P1.style.width = 40 + (10 - 2.5 * p) + "%";
				setOpacity(P1i, 100 - .5 * (p * p));
				if (p == 20) {
					P1i.src = IMGSRC[kI].src;
					setOpacity(P1i, 100);
					P1.style.left = 0;
					P1.style.width = "50%";
					for (var i = 1; i <= 20; i++)
						setTimeout("TPL__(" + i + ")", i * 32);
				}
			}

			function TPL() {
				if (!run) {
					run = true;
					P02i.src = IMGSRC[kI].src;
					P2.style.width = 0;
					kI--;
					if (kI < 0)
						kI = nI - 1;
					titLe(kI);
					P01i.src = IMGSRC[kI].src;
					P2i.src = IMGSRC[kI].src;
					for (var i = 1; i <= 20; i++)
						setTimeout("TPL_(" + i + ")", i * 32);
				} else
					setTimeout("TPL()", 100);
			}

			function titLe(p) {
				document.getElementById("TXTBOX").innerHTML = IMGSRC[p].alt;
			}

			onload = function() {
				IMGSRC = document.getElementById("imgsrc").getElementsByTagName("img");
				DB = document.getElementById("DHTMLBOOK");
				P01 = DB.getElementsByTagName("span")[0];
				P01i = P01.getElementsByTagName("img")[0];
				P02 = DB.getElementsByTagName("span")[1];
				P02i = P02.getElementsByTagName("img")[0];
				P1 = DB.getElementsByTagName("span")[2];
				P1i = P1.getElementsByTagName("img")[0];
				P2 = DB.getElementsByTagName("span")[3];
				P2i = P2.getElementsByTagName("img")[0];
				nI = IMGSRC.length;
				P1i.src = IMGSRC[kI].src;
				P2i.src = IMGSRC[kI].src;
				titLe(kI);
				DB.style.visibility = "visible";
			}
			//-->
		</SCRIPT>

		<META content="MSHTML 6.00.6000.16809" name=GENERATOR>
	</HEAD>
	<BODY>

		<DIV id=center>
			<DIV id=DHTMLBOOK>
				<SPAN class=page onMouseDown="return false;" οndblclick=TPL(); οnclick=TPL();><IMG class=img></SPAN>
				<SPAN class="page right" οnmοusedοwn="return false;" οndblclick=TPR(); οnclick=TPR();><IMG class=img style="LEFT: -100%"></SPAN>
				<SPAN class="page turn" onMouseDown="return false;" οndblclick=TPL(); οnclick=TPL();><IMG class=img style="FILTER: alpha(); opacity: 1"></SPAN>
				<SPAN class="page turn right" οnmοusedοwn="return false;" οndblclick=TPR(); οnclick=TPR();><IMG class=img style="FILTER: alpha(); LEFT: -100%; opacity: 1"></SPAN>
				<DIV id=TXTBOX></DIV>
			</DIV>
		</DIV>
		<DIV id=imgsrc style="VISIBILITY: hidden">
			<IMG alt="In the early morning he departed." src="http://www.lanrentuku.com/down/js/images/12499727220.jpg">
			<IMG alt="Believing she had dreamed of the roar of his bike," src="http://www.lanrentuku.com/down/js/images/12499727221.jpg">
			<IMG alt="she woke up to the sunshine in her eyelids." src="http://www.lanrentuku.com/down/js/images/12499727222.jpg">
		</DIV>
	</BODY>
</HTML>

以下是HTML图片翻页效果代码,使用JavaScript实现HTML代码: ```html <div class="flip-container"> <div class="flipper"> <div class="front"> <img src="image1.jpg" alt="Image 1"> </div> <div class="back"> <img src="image2.jpg" alt="Image 2"> </div> </div> </div> ``` CSS代码: ```css .flip-container { perspective: 1000px; } .flip-container:hover .flipper, .flip-container.hover .flipper { transform: rotateY(180deg); } .flipper { transition: 0.6s; transform-style: preserve-3d; position: relative; } .front, .back { backface-visibility: hidden; position: absolute; top: 0; left: 0; } .back { transform: rotateY(180deg); } ``` JavaScript代码: ```javascript var flipContainers = document.querySelectorAll('.flip-container'); for (var i = 0; i < flipContainers.length; i++) { flipContainers[i].addEventListener('mouseenter', function() { this.classList.add('hover'); }); flipContainers[i].addEventListener('mouseleave', function() { this.classList.remove('hover'); }); } ``` 以上是HTML图片翻页效果代码,下面是JS图片翻书效果代码: HTML代码: ```html <div class="book"> <div class="page-container"> <div class="page"> <img src="image1.jpg" alt="Image 1"> </div> <div class="page"> <img src="image2.jpg" alt="Image 2"> </div> </div> </div> ``` CSS代码: ```css .book { width: 400px; height: 300px; perspective: 1200px; } .page-container { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 1s; } .page { position: absolute; top: 0; left: 0; width: 100%; height: 100%; backface-visibility: hidden; transform-origin: left center; transform-style: preserve-3d; } .page:nth-child(even) { transform: rotateY(-180deg); } .page-container.open { transform: translateZ(-150px); } .page-container.open .page:first-child { transform: rotateY(-20deg); } .page-container.open .page:last-child { transform: rotateY(160deg); } ``` JavaScript代码: ```javascript var book = document.querySelector('.book'); var pageContainer = document.querySelector('.page-container'); book.addEventListener('click', function() { if (pageContainer.classList.contains('open')) { pageContainer.classList.remove('open'); } else { pageContainer.classList.add('open'); } }); ``` 以上是JS图片翻书效果代码,希望能对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值