Home > Web Front-end > Front-end Q&A > Vue clicks the button to implement div movement animation

Vue clicks the button to implement div movement animation

WBOY
Release: 2023-05-24 10:23:36
Original
1103 people have browsed it

With the popularity and application of Vue, more and more websites and applications are beginning to be developed using the Vue framework, and Vue also provides many tools and components that facilitate development. In this article, we will introduce how to use Vue to achieve the effect of div moving animation after clicking a button.

First, create a button and a div element in the HTML file, the code is as follows:

<div id="app">
  <button v-on:click="animate">Click me to animate</button>
  <div v-bind:style="divStyle"></div>
</div>
Copy after login

In this example, the button element is bound to a click eventv-on: click, the animate method will be called when clicked. The div element is rendered according to the style bound by divStyle.

Next, define the style of the div in the Vue instance, and where the div needs to move after the button is clicked. Define the transition attribute in the style to achieve the movement animation effect. The code is as follows:

new Vue({
  el: '#app',
  data: {
    divStyle: {
      width: '100px',
      height: '100px',
      background: 'red',
      transition: 'all 1s' // 绑定CSS过渡
    }
  },
  methods: {
    animate: function() {
      this.divStyle.transform = 'translateX(200px)'; // 移动div到右边
    }
  }
})
Copy after login

In the above code, we use the data attribute in Vue to define the style of the div, and also combine divStyle with the div element Binding. When the button is clicked, the animate function is called to modify the transform attribute value in divStyle and move the div element 200 pixels to the right.

Finally, we need to add a gradual moving animation effect to the div element. When we modify the style of the div, Vue will automatically add transition effects. In order for Vue to know which styles need to add transition effects, we need to add:

.v-enter-active,
.v-leave-active {
  transition: all 1s ease;
}

.v-enter,
.v-leave-to {
  opacity: 0;
  transform: translateX(-100%);
}
Copy after login

In this way, when the div element changes , Vue will automatically add transition effects, and the transition animation is determined by the properties we define in CSS.

The above is the entire process of using Vue to realize the movement animation of the div element after the button is clicked. Through this example, you can see the convenience of the Vue framework and the ability to realize powerful animation effects.

The above is the detailed content of Vue clicks the button to implement div movement animation. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template