Home  >  Article  >  Web Front-end  >  How to implement page jump animation effect in uniapp

How to implement page jump animation effect in uniapp

WBOY
WBOYOriginal
2023-12-17 09:00:121949browse

How to implement page jump animation effect in uniapp

How to realize the page jump animation effect in uniapp

In uniapp, the page jump animation effect can be achieved by using the built-in navigateTo and redirectTo method, combined with CSS animation. This article will introduce in detail how to implement page jump animation effect in uniapp, and attach specific code examples.

There are two ways to jump pages in uniapp: navigateTo and redirectTo. The difference between them is that the former opens a new page on the current page, and the latter closes the current page and opens a new page.

First, let’s look at the use of the navigateTo method. The following is a sample code for jumping from the home page to the details page:

// 主页
viewDetail() {
  uni.navigateTo({
    url: '/pages/detail/detail',
    animationType: 'slide-in-bottom', // 设置动画类型为从底部滑入
    animationDuration: 300 // 设置动画时长为300ms
  });
}

In a click event on the home page, specify the address of the target page to jump to through the uni.navigateTo method'/pages/detail/detail', and you can set the type and duration of the jump animation through the two parameters animationType and animationDuration.

In the onLoad method of the details page, we can obtain the parameters passed by the homepage through the uni.getOpenerEventChannel method, as shown below:

// 详情页
onLoad() {
  const eventChannel = uni.getOpenerEventChannel();
  eventChannel.on('detail', (data) => {
    console.log(data); // 输出传递的参数
  });
}

Next, let’s look at the use of the redirectTo method. The following is a sample code for a homepage to jump to the login page:

// 主页
redirectToLogin() {
  uni.redirectTo({
    url: '/pages/login/login',
    animationType: 'pop-in', // 设置动画类型为弹出
    animationDuration: 300 // 设置动画时长为300ms
  });
}

In the onLoad method of the login page, if we need to get the parameters passed by the previous page, we can use uni .getOpenerEventChannel method, the sample code is as follows:

// 登录页
onLoad() {
  const eventChannel = uni.getOpenerEventChannel();
  eventChannel.on('login', (data) => {
    console.log(data); // 输出传递的参数
  });
}

In addition to achieving animation effects through uniapp’s built-in page jump method, we can also combine CSS animations to achieve more diverse effects. For example, you can use the animation component in uniapp to set custom animation effects.

The following is a sample code that uses the animation component to implement custom animation effects:

<!-- 主页 -->
<template>
  <view class="container">
    <button @click="viewDetail">跳转到详情页</button>
  </view>
</template>

<script>
  export default {
    methods: {
      viewDetail() {
        uni.navigateTo({
          url: '/pages/detail/detail'
        });
      }
    }
  };
</script>

<style>
  .container {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f5f5f5;
  }
</style>

<!-- 详情页 -->
<template>
  <view class="container">
    <button @click="goBack">返回</button>
  </view>
</template>

<script>
  import animation from '@/components/animation/animation.vue';

  export default {
    components: {
      animation
    },
    methods: {
      goBack() {
        uni.navigateBack();
      }
    }
  };
</script>

<style>
  .container {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f5f5f5;
  }
</style>

In the above example, we introduce the animation component Go to the details page and achieve some animation effects by calling methods on its components.

Through the above introduction and code examples, I believe that readers have understood how to implement page jump animation effects in uniapp, and can adjust and expand according to actual needs. Hope this article can be helpful to readers.

The above is the detailed content of How to implement page jump animation effect in uniapp. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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