千家信息网

vue怎么实现书本翻页动画效果

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,本文小编为大家详细介绍"vue怎么实现书本翻页动画效果",内容详细,步骤清晰,细节处理妥当,希望这篇"vue怎么实现书本翻页动画效果"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知
千家信息网最后更新 2025年01月17日vue怎么实现书本翻页动画效果

本文小编为大家详细介绍"vue怎么实现书本翻页动画效果",内容详细,步骤清晰,细节处理妥当,希望这篇"vue怎么实现书本翻页动画效果"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

效果如下:

关键字

transform

Transform属性应用于元素的2D或3D转换。这个属性允许你将元素旋转,缩放,移动,倾斜等。

语法为transform: none|*transform-functions*; 我们主要使用到其旋转效果,我们可以这样写。

transform: rotateY(90deg)//表示沿Y轴旋转90度

animation

既然是要实现动画效果,那么肯定少不了animation的出场了,

animation属性的语法为: animation: name duration timing-function delay iteration-count direction fill-mode play-state;我们需要用到的只是前两个属性,name和duration,分别为指定要绑定到选择器的关键帧的名称动画指定需要多少秒或毫秒完成 我们可以这样写

animation: fanPre 2s;

@keyframes

使用@keyframes规则,你可以创建动画,创建动画是通过逐步改变从一个CSS样式设定到另一个,在动画过程中,可以更改CSS样式的设定多次,指定的变化时发生时使用%,或关键字"from"和"to",这是和0%到100%相同。

语法为:@keyframes *animationname* {*keyframes-selector* {*css-styles;}* } 我们可以这样写

@keyframes fanPre {  0% {    transform: rotateY(0deg);    background-color: rgba(122, 112, 112);  }  50% {    background-color: rgba(122, 112, 112);  }  75% {    background-color: rgba(122, 112, 112);  }  100% {    transform: rotateY(-140deg);    background-color: none;  }}

var

此var并不是JavaScript中的var而是css中的var,我们可以使用其来实现css与vue数据继续数据交换,及css中可以使用vue定义的data来进行属性设置,具体如下:

//html
//javascriptprops: { speed: { type: String, default: "2s", }}//css

实现

知道了上面这几个关键词之后,我们便可以开始着手实现该效果了,首先我们需要一个书本页面列表数据

//书本页面列表    pagesList: {      type: Array,      default: () => {        return [          {            title: "关雎",            text: [              "关关雎鸠,在河之洲。窈窕淑女,君子好逑。",              "参差荇菜,左右流之。窈窕淑女,寤寐求之。",              "求之不得,寤寐思服。悠哉悠哉,辗转反侧。",              "参差荇菜,左右采之。窈窕淑女,琴瑟友之。",              "参差荇菜,左右芼之。窈窕淑女,钟鼓乐之。",            ],          },          {            title: "声声慢·寻寻觅觅",            text: [              "寻寻觅觅,冷冷清清,凄凄惨惨戚戚。乍暖还寒时候,最难将息。三杯两盏淡酒,怎敌他、晚来风急!雁过也,正伤心,却是旧时相识。",              "满地黄花堆积,憔悴损,如今有谁堪摘?守着窗儿,独自怎生得黑!梧桐更兼细雨,到黄昏、点点滴滴。这次第,怎一个愁字了得!",            ],          },          {            title: "青玉案·元夕",            text: [              "东风夜放花千树。更吹落、星如雨。宝马雕车香满路。凤箫声动,玉壶光转,一夜鱼龙舞。",              "蛾儿雪柳黄金缕。笑语盈盈暗香去。众里寻他千百度。蓦然回首,那人却在,灯火阑珊处。",            ],          },          {            title: "蝶恋花·伫倚危楼风细细",            text: [              "伫倚危楼风细细,望极春愁,黯黯生天际。草色烟光残照里,无言谁会凭阑意。",              "拟把疏狂图一醉,对酒当歌,强乐还无味。衣带渐宽终不悔,为伊消得人憔悴。",            ],          },          {            title: "雨霖铃·秋别",            text: [              "寒蝉凄切,对长亭晚,骤雨初歇。都门帐饮无绪,留恋处,兰舟催发。执手相看泪眼,竟无语凝噎。念去去,千里烟波,暮霭沉沉楚天阔。",              "多情自古伤离别,更那堪,冷落清秋节!今宵酒醒何处?杨柳岸,晓风残月。此去经年,应是良辰好景虚设。便纵有千种风情,更与何人说",            ],          },        ];      },    },

将数据渲染到页面上,如下例子

{{ nowPage.title }}

{{ t }}

页面翻页功能实现如下,使用currentPage来记录当前展示页面页数,使用flag来区分是上一页还是下一页翻页,并进行相应的翻页操作。其中要注意对点击事件进行防抖操作,防止翻页过快,具体代码如下:

    turnPage(flag) {      if (!this.canTurn) return;      if (this.currentPage <= this.pagesList.length)        this.setPage(this.currentPage, flag);      if (this.currentPage < this.pagesList.length && this.currentPage > 0) {        this.canTurn = false;        setTimeout(() => {          this.canTurn = true;        }, parseInt(this.speed) * 1000 - 100);      }      if (flag === 1) {        if (this.currentPage < this.pagesList.length) {          this.currentPage++;          this.nextClick = true;          this.lastClick = false;        }      } else {        if (this.currentPage > 0) {          this.currentPage--;          this.nextClick = false;          this.lastClick = true;        }      }    },

完整代码

读到这里,这篇"vue怎么实现书本翻页动画效果"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

动画 窈窕 窈窕淑女 淑女 书本 效果 荇菜 页面 属性 憔悴 寻寻觅觅 关键 危楼 数据 语法 凄切 君子好逑 寤寐求之 晓风残月 乍暖还寒 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 QT怎么打开并显示数据库 计算机等级数据库技术好考吗 高职 计算机网络技术专业 网络安全最好的上市公司 数据库中课程的属性有哪些 个人信息网络安全需重视 网络安全第三方评估验证 ftp连接服务器错误有哪些原因 代理服务器电视 自己电脑做服务器数据库 贱圣方舟七龙珠服务器是怎么找的 六安点餐系统软件开发费用 大掌柜数据库安装 电脑服务器风扇声音突然很大 软件开发新课堂 gtfo阿尔法一下载基因数据库 家庭教育和网络安全教育平台 想学网络技术学费多少钱 内蒙古大学生网络安全 宾馆客房数据库 网络安全常识课件ppt 民用软件开发通用要求 互联网科技大会 上海 国税局开展网络安全周 工业通信网络技术应用 高德离线到数据库 我的世界服务器活跃 中国台湾小型软件开发常用指南 手机搜的网络安全吗 项目中数据库怎么用
0