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)
Table of contents Preface optimization SSR Import...
Table of contents 1. context 1. Usage scenarios 2...
Download and install MySQL 8.0.22 for your refere...
This article example shares the specific code of ...
CSS scroll bar style modification code .scroll::-...
This article shares the specific code of jQuery...
1. Storage Engine In the last section, we mention...
Table of contents Preface What is a virtual list?...
1. RTMP RTMP streaming protocol is a real-time au...
The current environment is: Centos 7.5 docker-ce ...
Vue calls the PC camera to take pictures in real ...
Docker provides multiple networks such as bridge,...
First look at the effect: html <a href="#...
Table of contents 1. redo log (transaction log of...
Table of contents tool: Login scenario: practice:...