vue或css动画实现列表向上无缝滚动

本文实例为大家分享了vue或css动画实现列表向上无缝滚动的具体代码,供大家参考,具体内容如下

方法一:vue的实现方法

<div id="publishMain" class="b_list">
 <div id="publishMain1">
   <div class="b_item" v-for="(ac,acindex) in activityList" :key="acindex">
     <!-- 循环的内容 -->
   </div>
 </div>
 <div id="publishMain2"></div>
</div>

js

<script>
export default {
    data(){
        return{
            timer: null,
            activityList:[]
        }
    },
    mounted() {
        this.$nextTick(() => {
          this.rollUp();
        });
    },
    beforeDestroy() {
        this.timer = null;
        clearInterval(this.timer);
    },
 
    methods: {
        /*向上轮播*/
        rollUp() {
        let ul1 = document.getElementById("publishMain1");
        let ul2 = document.getElementById("publishMain2");
        let box = document.getElementById("publishMain");
        ul2.innerHTML = ul1.innerHTML;
        box.scrollTop = 0;
        function rollStart() {
            if (box.scrollTop >= ul1.scrollHeight) {
            box.scrollTop = 0;
            } else {
            box.scrollTop++;
            }
        }
        this.timer = setInterval(rollStart, 50);
    }
  }
}
</script>

css

.b_list{
   height: 19rem;
   overflow: hidden;
}

方法二:纯css动画

html

<div class="b_list">
  <div class="b_scroll">
    <div class="b_item" v-for="(ac,acindex) in activityList" :key="acindex">
      <!-- 循环的内容 -->
    </div>
  </div>
</div>

css

@keyframes scrollTop {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, -300px, 0);
    transform: translate3d(0, -300px, 0);
  }
}
.b_list{
  height: 19rem;
  overflow: hidden;
}
 
.b_scroll{
   -webkit-animation: 10s scrollTop linear infinite normal;
   animation: 10s scrollTop linear infinite normal;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • vue实现无限消息无缝滚动

    本文实例为大家分享了vue实现无限消息无缝滚动的具体代码,供大家参考,具体内容如下 一.html <div class="table_box">    <div class="table_title">     <div class="table_title_item">告警时间</div>     <div class="table_title_item">所属集中

  • vue3实现CSS无限无缝滚动效果

    本文实例为大家分享了vue3实现CSS无限无缝滚动效果的具体代码,供大家参考,具体内容如下 template 双层div嵌套,进行隐藏滚动显示 <div class="list-container"> <div class="marquee" id="carList"> <template v-for="(item, index) in dataMap.list" :key="index

  • vue实现简单无缝滚动效果

    本文实例为大家分享了vue实现简单无缝滚动的具体代码,供大家参考,具体内容如下 效果 实现思路 在vue中如何复制一份列表出来呢且不能丢失绑定的事件,很简单使用slot插槽,使用两个插槽我们就拥有了两个列表 <div class="listScroll" ref="box">     <slot></slot>     <slot></slot> </div> 组件完整代码 <templa

  • 基于vue-seamless-scroll实现无缝滚动效果

    vue中,基于vue-seamless-scroll无缝滚动,供大家参考,具体内容如下 1.安装vue-seamless-scroll npm install vue-seamless-scroll --save 2.引入组件 全局引入在main.js中添加 import scroll from 'vue-seamless-scroll' Vue.use(scroll) 组件局部引入 <vue-seamless-scroll></vue-seamless-scroll> impor

  • 基于vue.js无缝滚动效果

    一个简单的基于vue.js的无缝滚动 :feet:在线文档demo :ear_of_rice:小demo :blue_book:English Document 安装 NPM npm install vue-seamless-scroll --save 使用 ES6 详情的demo页面 example-src/App.vue // **main.js** import Vue from 'vue' import scroll from 'vue-seamless-scroll' Vue.use(

  • vue实现列表垂直无缝滚动

    本文实例为大家分享了vue实现列表垂直无缝滚动的具体代码,供大家参考,具体内容如下 实现新闻列表的轮播(如下图) 上代码 封装的so-marquee.vue <template>     <div         class="marquee-wrapper"         :style="{ width: realWidth + 'px' }"     >         <div             class="m

  • vue实现列表无缝滚动效果

    本文实例为大家分享了vue实现列表无缝滚动效果的具体代码,供大家参考,具体内容如下 1.安装 npm install vue-seamless-scroll --save 2.在需要使用的组件中引入进行配置 import vueSeamlessScroll from "vue-seamless-scroll"; 在components中注入 components: { vueSeamlessScroll }, 3.使用 <template>   <div class=

  • vue实现消息向上无缝滚动效果

    本文实例为大家分享了vue实现消息向上无缝滚动效果的具体代码,供大家参考,具体内容如下 代码: <ul class="new-list" :class="{anim:animate}" @mouseenter="Stop()" @mouseleave="Up()">   <li v-for="item in noticeList">     ...   </li> <

  • vue实现列表无缝滚动

    本文实例为大家分享了vue实现列表无缝滚动的具体代码,供大家参考,具体内容如下 HTML部分代码 <template> <div id="box" class="wrapper"> <div class="contain" id="con1" ref="con1" :class="{anim:animate==true}"> <List v-fo

  • vue-seamless-scroll无缝滚动组件使用方法详解

    本文实例为大家分享了vue无缝滚动组件vue-seamless-scroll的具体实现代码,供大家参考,具体内容如下 下载 cnpm i -S vue-seamless-scroll main.js中引入: import VueSeamlessScroll from 'vue-seamless-scroll' Vue.use(VueSeamlessScroll) 使用: <template>   <div>       <vue-seamless-scroll        

随机推荐