前端书籍翻页效果

avatar
作者
筋斗云
阅读量:4

目录

前端书籍翻页效果

前端实现翻书效果,附带vue源码
源码下载地址
请添加图片描述

前言

实际业务开发中,有时候会遇到需要在前端页面内实现翻书效果的需求,本篇文章就为大家介绍如何使用vue实现前端翻书效果,包括鼠标拖动/点击实现翻页,通过按钮实现翻页等功能,下面给出核心代码示例。完整代码请移步之下载页面下载

代码示例

创建模板页面

创建13个页面,每个页面是一张图片,所有图片资源统一放置在源码包内。

<template> <!--  创建id为book的书籍容器,内部包含13个页面-->   <div id="book">     <div><img src="./assets/img/00.jpg" alt=""></div>     <div><img src="./assets/img/11.jpg" alt=""></div>     <div><img src="./assets/img/12.jpg" alt=""></div>     <div><img src="./assets/img/21.jpg" alt=""></div>     <div><img src="./assets/img/22.jpg" alt=""></div>     <div><img src="./assets/img/31.jpg" alt=""></div>     <div><img src="./assets/img/32.jpg" alt=""></div>     <div><img src="./assets/img/41.jpg" alt=""></div>     <div><img src="./assets/img/42.jpg" alt=""></div>     <div><img src="./assets/img/51.jpg" alt=""></div>     <div><img src="./assets/img/52.jpg" alt=""></div>     <div><img src="./assets/img/61.jpg" alt=""></div>     <div><img src="./assets/img/62.jpg" alt=""></div>   </div> </template> 

css样式

html,body, #app{   width: 100%;   height: 100%;   overflow: hidden;   padding: 30px; }  #app {   margin: 0 auto;   padding: 2rem;   font-weight: normal; }  

编写js代码

初始化翻书节点,包含配置项字段,如书籍宽高、位置等字段,还可以监听翻书事件,比如当前书籍翻到第几页、正在翻页、翻页结束等事件

$("#book").turn({     width: 1280,     height: 720,     // 自动居中     autoCenter: true,     // 翻页速度,默认600ms     duration: 1000,     // 展示方式,single:单页展示,double:双页展示     display: "double",     // 开启硬件加速     acceleration: true,     when: {       start: function (e, page, view) {         // 开始翻页时       },       turning: function (e, page, view) {         // 正在翻页       },       turned: function (e, page, view) {         // 翻页完成         console.log(e); // 事件对象         console.log(page); // 翻到第几页 4         console.log(view); //当前展示那几页 是一个数组 [4,5]       }     }   }); 

通过按钮实现上一页下一页

	// 通过点击事件实现书籍的翻页功能 	$("#prev").click(function () { 	  // 上一页 	  $("#book").turn("previous"); 	}) 	$("#next").click(function () { 	  // 下一页 	  $("#book").turn("next"); 	}) 

结论

通过上述简单的几行代码,就可以轻松实现翻书效果,除此之后页面内容还可以使用vue组件,这里不再赘述。

大家有任何问题都可评论区留言或私信,相互交流学习!😉😉😉

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!