Vue component to realize carousel animation

Vue component to realize carousel animation

This article example shares the specific code of Vue component to realize carousel animation for your reference. The specific content is as follows

The source code is as follows

<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") }
      ],
      //File image configuration 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: {
  //Realize the animation of clicking the button to switch, set the time parameter to prevent multiple clicks 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;
}

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:
  • Vue implements carousel animation
  • Realizing carousel animation effect based on Vue3

<<:  How to create a database in navicat 8 for mysql

>>:  How to automatically backup the script for Linux servers (mysql, attachment backup)

Recommend

Mysql table creation foreign key error solution

Database Table A: CREATE TABLE task_desc_tab ( id...

WeChat applet implements search function and jumps to search results page

Search Page: search.wxml page: <view class=&qu...

XHTML tags should be used properly

<br />In previous tutorials of 123WORDPRESS....

Navicat cannot create function solution sharing

The first time I wrote a MySQL FUNCTION, I kept g...

Linux Disk Quota Management Graphical Example

Disk quota is the storage limit of a specified di...

How to view the running time of MySQL statements through Query Profiler

The previous article introduced two methods to ch...

Using zabbix to monitor the ogg process (Linux platform)

The ogg process of a database produced some time ...

How to set process.env.NODE_ENV production environment mode

Before I start, let me emphasize that process.env...

Writing daily automatic backup of MySQL database using mysqldump in Centos7

1. Requirements: Database backup is particularly ...

Solution to large line spacing (5 pixels more in IE)

Copy code The code is as follows: li {width:300px...

Detailed explanation of how to use the canvas operation plugin fabric.js

Fabric.js is a very useful canvas operation plug-...