无缝滚动公告

154 阅读1分钟

搜商真的很重要。接到的需求效果是个滚动公告,搜索后试着用走马灯实现,发现走马灯都是整屏滚走的,这样就不符合公告一行行滚走的需求,然后我想到可视化大屏有这种滚动表格的需求,慢慢调整了搜索关键词。关键词应该是无缝滚动,不是无限滚动哈,无限滚动又是另一个话题了。 网上搜索方案大概两种:原生手写和使用插件。最终我用了插件。

使用方案:插件vue-seamless-scroll

1 安装插件依赖包

    
npm install vue-seamless-scroll --save  

官网文档

https://chenxuan1993.gitee.io/component-document/index_prod#/component/seamless-default

2 引入使用(基本用法。默认参数)

import vueSeamlessScroll from 'vue-seamless-scroll'components: { vueSeamlessScroll },

3 模板代码

<template>
    <vue-seamless-scroll :data="listData" class="seamless-warp">
        <ul class="item">
            <li v-for="item in listData">
                <span class="title" v-text="item.title"></span><span class="date" v-text="item.date"></span>
            </li>
        </ul>
    </vue-seamless-scroll>
</template>
<style lang="scss" scoped>
    .seamless-warp {
        height: 229px;
        overflow: hidden;
    }
</style>
<script>
    export default {
        data () {
            return {
                listData: [{
                   'title': '无缝滚动第一行无缝滚动第一行',
                   'date': '2017-12-16'
                 }, {
                    'title': '无缝滚动第二行无缝滚动第二行',
                    'date': '2017-12-16'
                 }, {
                     'title': '无缝滚动第三行无缝滚动第三行',
                     'date': '2017-12-16'
                 }, {
                     'title': '无缝滚动第四行无缝滚动第四行',
                     'date': '2017-12-16'
                 }, {
                     'title': '无缝滚动第五行无缝滚动第五行',
                     'date': '2017-12-16'
                 }, {
                     'title': '无缝滚动第六行无缝滚动第六行',
                     'date': '2017-12-16'
                 }, {
                     'title': '无缝滚动第七行无缝滚动第七行',
                     'date': '2017-12-16'
                 }, {
                     'title': '无缝滚动第八行无缝滚动第八行',
                     'date': '2017-12-16'
                 }, {
                     'title': '无缝滚动第九行无缝滚动第九行',
                     'date': '2017-12-16'
                 }]
                }
            }
       }
</script>