Vue组件实现旋转木马动画
更新时间:2021年07月22日 14:56:46 作者:!!?
这篇文章主要为大家详细介绍了Vue组件实现旋转木马动画效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了Vue组件实现旋转木马动画的具体代码,供大家参考,具体内容如下
源码如下
<template> <div id="wrapper"> <transition-group name="list" tag="ul" mode="out-in"> <li v-for="(item,index) in piclist" :key="item.url" :style="config[index]"> <img :src="item.url"> </li> </transition-group> <a href="javascript:;" id="arrLeft" class="prev" @click="turnleft"></a> <a href="javascript:;" id="arrRight" class="next" @click="turnright"></a> </div> </template>
js:
export default { data() { return { piclist: [ { url: require("../image/pic1.png") }, { url: require("../image/pic2.png") }, { url: require("../image/pic3.png") } ], //文件图片配置 config: [ { position: "absolute", width: "400px", top: "20px", left: "50px", opacity: 0.2, zIndex: 2, transition: "1s" }, { position: "absolute", width: "800px", top: "100px", left: "200px", opacity: 1, zIndex: 4, transition: "1s" }, { position: "absolute", width: "400px", top: "20px", left: "750px", opacity: 0.2, zIndex: 2, transition: "1s" } ], previous: 0, now: Date.now() }; }, methods: { //实现点击按钮切换的动画,设置时间参数防止多次点击 turnleft: function() { this.now = Date.now(); if (this.now - this.previous > 1000) { this.config.push(this.config.shift()); this.previous = this.now; } }, turnright: function() { this.now = Date.now(); if (this.now - this.previous > 1000) { this.config.unshift(this.config.pop()); this.previous = this.now; } } } };
css:
* { margin: 0; padding: 0; } #wrapper { margin: auto; height: 500px; width: 79%; position: relative; } ul { list-style: none; } li img { height: 500px; width: 100%; } .prev, .next { position: absolute; height: 60px; width: 60px; border-radius: 50%; top: 50%; margin-top: -56px; overflow: hidden; text-decoration: none; background-color: aqua; z-index: 5; opacity: 1; } .prev { left: 0; } .next { right: 0; } .picleft { width: 400; top: 20; left: 50; opacity: 0.2; z-index: 2; } .piccenter { width: 800; top: 100; left: 200; opacity: 1; z-index: 4; } .picright { width: 400; top: 20; left: 750; opacity: 0.2; z-index: 2; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Vue3+Element Plus实现自定义弹窗组件的全屏功能
在现代化的前端开发中,弹窗组件是提升用户体验的重要元素,本文将介绍如何使用 Vue 3 和 Element Plus 库来创建一个具有全屏功能的自定义弹窗组件,文中通过代码示例讲解的非常详细,需要的朋友可以参考下2024-07-07如何实现echarts markline标签名显示自己想要的
这篇文章主要介绍了实现echarts markline标签名显示自己想要的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-07-07详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
这篇文章主要介绍了Vue+ElementUI从零开始搭建自己的网站(一、环境搭建),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-04-04
最新评论