This article shares with you a book flipping effect diagram implemented with native JS. The effect is as follows: The implementation code is as follows, you are welcome to copy and paste. <!doctype html> <html> <head> <meta charset="utf-8"> <title>Native JS to achieve book flipping effects</title> <style type="text/css"> * { margin: 0; padding: 0; list-style: none; } #btn { width: 50px; height: 40px; line-height: 40px; position: relative; left: 50%; margin-left: -25px; top: 100px; } #book { width: 600px; height: 400px; position: absolute; left: 50%; top: 50%; margin: -200px 0 0 -300px; border: 1px solid black; /* First cover */ background: url(images/0.jpg); } #rightPage { width: 50%; height: 100%; position: absolute; left: 50%; z-index: 2; transition: 0.5s; transform: perspective(800px) rotateY(0px); transform-origin: left center; background: black; transform-style: preserve-3d; } #rightPage #topNode { position: absolute; width: 100%; height: 100%; /* First cover */ background: url(images/0.jpg) 300px 0; transform: translateZ(1px); } #rightPage #bottomNode { position: absolute; width: 100%; height: 100%; /* Third cover */ background: url(images/2.jpg) 0 0; /*scaleX restores the image after flipping the book mirror*/ transform: translateZ(-1px) scaleX(-1); } #rightOtherPage { position: absolute; left: 50%; height: 100%; width: 50%; /* Third cover */ background: url(images/2.jpg) 300px 0; z-index: 1; } </style> </head> <body> <input type='button' value='Next page' id='btn'> <div id='book'> <div id='rightPage'> <div id='topNode'></div> <div id='bottomNode'></div> </div> <div id='rightOtherPage'></div> </div> <script type="text/javascript"> var index = 0; var flag = false; btn.onclick = function () { if (flag) return; flag = true; index++; rightPage.style.transition = '0.5s'; rightPage.style.transform = 'perspective(800px) rotateY(-180deg)'; setTimeout(function () { // Change the background of the next page instantly after turning the page book.style.backgroundImage = 'url(images/' + (index % 2 + 1) + '.jpg)'; // Let the page turn back instantlyrightPage.style.transition = '0s'; rightPage.style.transform = 'perspective(800px) rotateY(0deg)'; // Change the front background of the flip paper topNode.style.backgroundImage = 'url(images/' + (index % 2 + 1) + '.jpg)'; // Change the background of the back of the flip paper bottomNode.style.backgroundImage = 'url(images/' + ((index + 1) % 2 + 1) + '.jpg)'; // Change the paper background after turning the page rightOtherPage.style.backgroundImage = 'url(images/' + ((index + 1) % 2 + 1) + '.jpg)'; flag = false; }, 500); }; </script> </body> </html> The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: How to create Apache image using Dockerfile
>>: Beginners learn some HTML tags (1)
This article shares the specific code for JavaScr...
MySQL software installation and database basics a...
The img tag introduces the image Because react ac...
I worked in operations and maintenance for two ye...
Table of contents Normal loading Lazy Loading Pre...
1. Disconnection reason There are many reasons wh...
The project test environment database data is los...
When the img src value is empty, two requests are ...
<br />Maybe you've just come into a comp...
Table of contents Vue+ElementUI background manage...
Table of contents Simple Factory Factory Method S...
This article describes MySQL 8.0 user and role ma...
Method 1: Use the target event attribute of the E...
Table of contents 1. Open the file Parameter Intr...
It’s National Day, and everyone is eager to celeb...