原生JS实现Vue transition fade过渡动画效果示例

 更新时间:2023年06月16日 15:36:56   作者:TANKING  
这篇文章主要为大家介绍了原生JS实现Vue transition fade过渡动画效果示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Vue过渡动画

Vue有一个过渡动画,很多网页都在用,主要是体验还不错,所以很多使用Vue构建的页面如果考虑使用动画,基本就会使用这个fade动画,我现在使用原生的JavaScript来实现。

代码

<style>
.page {
  opacity: 0;
  transition: opacity 0.5s, transform 0.5s;
  transform: translateY(100%);
}
.page.visible {
  opacity: 1;
  transform: translateY(0);
}
.fade {
  opacity: 0;
  transform: translateY(10%);
  transition: opacity 0.5s, transform 0.5s;
}
@keyframes fadeAnimation {
  0% { opacity: 0; transform: translateY(10%); }
  100% { opacity: 1; transform: translateY(0); }
}
.fade.show {
  opacity: 1;
  transform: translateY(0);
}
#page-content{
    width: 800px;
}
#app{
    width: 800px;
    height: 600px;
    margin: 100px auto;
    padding: 20px 20px;
    background: #eee;
}
#app .nav{
    width: 200px;
    height: 600px;
    float: left;
}
#app .nav button{
    width: 200px;
    height: 40px;
    margin: 0 auto 10px;
    background: #39f;
    color: #fff;
    font-size: 15px;
    outline: none;
    cursor: pointer;
    border: none;
    border-radius: 5px;
}
#page-content{
    width: 550px;
    height: 600px;
    float: right
}
</style>
<script type="text/javascript">
var pageData = [
  {'Page1': '请注意,上述示例中的动画效果是通过CSS的动画来实现的,而不是使用原生JavaScript逐帧处理动画。这种方式可以更方便地使用CSS来定义和管理动画效果,但具体的实现方式会根据你的需求和设计来定制。你可以根据需要进行调整和扩展,以满足你的具体需求。'},
  {'Page2': '在上面的示例中,我们添加了一个名为fade的CSS类,用于应用淡入淡出的动画效果。使用animation属性指定了名为fadeAnimation的动画,并设置了持续时间为0.5秒。@keyframes规则定义了fadeAnimation动画的关键帧。在0%时,页面内容元素的透明度为0,向下移动50%;在100%时,透明度为1,不再进行垂直位移。这样就实现了从下往上的淡入效果。'},
  {'Page3': 'avaScript部分的changePage函数接收一个页面索引作为参数,根据索引从pageData数组中获取相应的页面数据。然后,我们通过操作page-content元素的textContent属性,将页面内容更新为对应页面的值。'}
];
window.onload=function(){
    // 进入页面加载
    changePage(0);
}
function changePage(pageIndex) {
  var pageContent = document.getElementById('page-content');
  var page = pageData[pageIndex];
  var key = Object.keys(page)[0];
  var value = page[key];
  pageContent.classList.remove('show');
  setTimeout(function() {
    pageContent.textContent = value;
    pageContent.classList.add('show');
  }, 300);
}
</script>
<div id="app">
    <div class="nav">
        <button onclick="changePage(0)">Page 1</button>
        <button onclick="changePage(1)">Page 2</button>
        <button onclick="changePage(2)">Page 3</button>
    </div>
    <div id="page-content" class="fade"></div>
</div>

效果

动态图:

以上就是原生JS实现Vue transition fade过渡动画效果示例的详细内容,更多关于Vue transition fade过渡动画的资料请关注脚本之家其它相关文章!

相关文章

  • Vue全局监测错误并生成错误日志实现方法介绍

    Vue全局监测错误并生成错误日志实现方法介绍

    在做完一个项目后,之后的维护尤为重要。这时,如果项目配置了错误日志记录,这样能大大减少维护难度。虽然不一定能捕获到全部的错误,但是一般的错误还是可以监测到的。这样就不用测试人员去一遍一遍复现bug了
    2022-10-10
  • vue.js实例对象+组件树的详细介绍

    vue.js实例对象+组件树的详细介绍

    这篇文章主要介绍了vue.js实例对象+组件树的相关资料,需要的朋友可以参考下
    2017-10-10
  • Vue elementUI表单嵌套表格并对每行进行校验详解

    Vue elementUI表单嵌套表格并对每行进行校验详解

    element-ui中有详细的各种表格及表格方法,下面这篇文章主要给大家介绍了关于Vue elementUI表单嵌套表格并对每行进行校验的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • 手把手教你搭建一个vue项目的完整步骤

    手把手教你搭建一个vue项目的完整步骤

    身为入行未深的小白前端,不断的学习是我们不可丢失的习惯,前端流行的框架也是层出不穷,vue在众多框架中脱颖而出,下面这篇文章主要给大家介绍了关于搭建一个vue项目的完整步骤,需要的朋友可以参考下
    2022-07-07
  • Vue守卫零基础介绍

    Vue守卫零基础介绍

    导航守卫就是路由跳转过程中的一些钩子函数,这个过程中触发的这些函数能让你有操作一些其他的事儿的时机,这就是导航守卫,守卫适用于切面编程,即把一件事切成好几块,然后分给不同的人去完成,提高工作效率,也可以让代码变得更加优雅
    2022-09-09
  • Vue中的echarts图表如何实现loading效果

    Vue中的echarts图表如何实现loading效果

    这篇文章主要介绍了Vue中的echarts图表如何实现loading效果,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue实现动态数据绑定

    vue实现动态数据绑定

    本篇文章主要介绍了vue实现动态数据绑定,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Vue强制组件重新渲染的方法讨论

    Vue强制组件重新渲染的方法讨论

    这篇文章给大家详细介绍了Vue强制组件重新渲染的正确方法,非常的实用,有需要的小伙伴可以参考下
    2020-02-02
  • 在React和Vue中使用Mock.js模拟接口的实现方法

    在React和Vue中使用Mock.js模拟接口的实现方法

    本文将介绍如何在React和Vue项目中使用Mock.js来模拟接口拦截请求,帮助开发者在不依赖后端的情况下高效地进行前端开发,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2024-08-08
  • vue多页面开发和打包正确处理方法

    vue多页面开发和打包正确处理方法

    这篇文章主要介绍了vue多页面开发和打包的正确处理方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-04-04

最新评论