vue-seamless-scroll的使用以及实例

这篇具有很好参考价值的文章主要介绍了vue-seamless-scroll的使用以及实例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vue-seamless-scroll介绍

vue-seamless-scroll是一个基于Vue.js的简单无缝滚动组件, 基于requestAnimationFrame实现,配置多满足多样需求。目前支持上下左右无缝滚动,单步滚动,以及支持水平方向的手动切换功能

安装

***Npm ***

npm install vue-seamless-scroll --save

引入组件

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

    vueSeamlessScroll
  },

配置参数

// 监听属性 类似于data概念
        computed: {
            defaultOption () {
                return {
                    step: 0.2, // 数值越大速度滚动越快
                    limitMoveNum: 2, // 开始无缝滚动的数据量 this.dataList.length
                    hoverStop: true, // 是否开启鼠标悬停stop
                    direction: 1, // 0向下 1向上 2向左 3向右
                    openWatch: true, // 开启数据实时监控刷新dom
                    singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
                    singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
                    waitTime: 1000 // 单步运动停止的时间(默认值1000ms)
                }
            }
 
        },  

完整实例代码

<vue-seamless-scroll v-if="tempArray.length>=1" :data="tempArray" class="seamless-warp" :class-option="defaultOption"  >
            <ul class="ul-scoll">
                <li v-for="(item, index) in tempArray" :key='index'>
                  <div class="item" >
                   <div :class="((item.Isnormal=='断联')||(item.Isnormal=='异常'))?'top top-1':'top top-2'"><span>{{index+1}}</span> </div>
                    <div class="pro-name"  :data-id="index" :data-index="item.C_Code" :data-model="item">{{item.C_Code}}</div>
                    <div class="pro-name">{{item.C_TaskNum}}</div>
                    <div class="num">{{item.C_Location}}</div>
                    <div class="num">{{item.Isnormal}}</div>
                    <div class="num">{{item.C_Status}}</div>
                    <div class="num">{{item.C_IsLock}}</div>
                    <div class="num">{{item.C_Electricity}}</div>
                  </div>
                </li>
            </ul>
        </vue-seamless-scroll>

css 设置

  .seamless-warp{
 
      width: 100%;
      height: 200%;
      overflow: hidden;
      color:rgba(255,255,255, 1);
      position: relative;
      overflow-y: auto;


      span{
        display:block;
        line-height: 3;
        font-size: 20px;

      }
    }
       .ul-scoll{
            li{
                margin: 10px;
                padding: 10px;
                background: rgba(186, 218, 207, 0.4);
            }
        }

其他实例

<template>
    <div class="" style="padding: 50px;">
        <div class="page-example3" style="">
            <vue-seamless-scroll :data="listData" :class-option="defaultOption" >
                <ul class="ul-scoll">
                    <li v-for="(item, index) in listData" :key='index'>
                        <span class="title">{{item.title}}</span><span class="date">{{item.time}}</span>
                    </li>
                </ul>
            </vue-seamless-scroll>
        </div>
    </div>
</template>
 
<script>
    import vueSeamlessScroll from 'vue-seamless-scroll'
    export default {
        name: 'Example3',
        components: {
            vueSeamlessScroll
        },
        data() {
            // 这里存放数据
            return {
                listData: []
            }
        },
        // 监听属性 类似于data概念
        computed: {
            defaultOption () {
                return {
                    step: 0.2, // 数值越大速度滚动越快
                    limitMoveNum: 2, // 开始无缝滚动的数据量 this.dataList.length
                    hoverStop: true, // 是否开启鼠标悬停stop
                    direction: 1, // 0向下 1向上 2向左 3向右
                    openWatch: true, // 开启数据实时监控刷新dom
                    singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
                    singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
                    waitTime: 1000 // 单步运动停止的时间(默认值1000ms)
                }
            }
 
        },
        // 方法集合
        methods: {},
        // 监控data中的数据变化
        watch: {},
        // 生命周期 - 创建完成(可以访问当前this实例)
        created() {
 
        },
        // 生命周期 - 挂载完成(可以访问DOM元素)
        mounted() {
            for(let i = 0 ; i < 15 ; i++){
                let j = {
                    title:'无缝滚动第几条啊啊啊-'+i,
                    time: '2020-04-10'
                }
                this.listData.push(j)
            }
        }
    }
</script>
 
<style scoped lang="scss">
    //@import url(); 引入公共css类
    .page-example3{
        width: 400px;
        height: 200px;
        overflow: hidden;
        border: 1px solid #283dff;
        .ul-scoll{
            li{
                margin: 6px;
                padding: 5px;
                background: rgba(198, 142, 226, 0.4);
            }
        }
    }
</style>  

实现点击无缝滚动

 <div class="data-right-item right-3" @click="handleClick($event)">
             <el-select v-model="devicevalue" placeholder="请选择"  @change="DeviceTypeChange" style="width:30%">
                <el-option v-for="(item,idx) in DeviceOptions"  :key="idx" :label="item.lay" :value="item.value"  ></el-option>
              </el-select>

              <div style="top:-10px">

          <div class="item" >
              <div class="top">序号</div>
              <div class="pro-name">设备号</div>
              <div class="pro-name">任务号</div>

              <div class="num">位置</div>
               <div class="num">异常</div>
              <div class="num">状态</div>
              <div class="num">锁定</div>
              <div class="num">电量</div>
          </div>





            <vue-seamless-scroll v-if="tempArray.length>=1" :data="tempArray" class="seamless-warp" :class-option="defaultOption"  >
                <ul class="ul-scoll">
                    <li v-for="(item, index) in tempArray" :key='index'>
                      <div class="item" >
                       <div :class="((item.Isnormal=='断联')||(item.Isnormal=='异常'))?'top top-1':'top top-2'"><span>{{index+1}}</span> </div>
                        <div class="pro-name"  :data-id="index" :data-index="item.C_Code" >{{item.C_Code}}</div>
                        <div class="pro-name">{{item.C_TaskNum}}</div>
                        <div class="num">{{item.C_Location}}</div>
                        <div class="num">{{item.Isnormal}}</div>
                        <div class="num">{{item.C_Status}}</div>
                        <div class="num">{{item.C_IsLock}}</div>
                        <div class="num">{{item.C_Electricity}}</div>
                      </div>
                    </li>
                </ul>
            </vue-seamless-scroll>
         </div>

@click=“handleClick($event)”
:data-id=“index” :data-index=“item.C_Code” 自定义要传参的内容文章来源地址https://www.toymoban.com/news/detail-576341.html

   methods: {

 handleClick(event) {
      console.log(event)
      console.log(event.target)
      
      
      let id= event.target.dataset.id //自定义的内容必须用dataset
      let staffName= event.target.dataset.index


      let s=0;
      let e=0;
      this.tempTipArray.map((item, i) => {
        
        item.map((val, idx) => {
           if (val.field == "C_Code"&&val.value==staffName) {
                e=idx;
                s=i;
              
              }
        })
      })
      let obj=[];
      let str="";
      for(let i=0;i<this.tempTipArray[s].length;i++)
      {
        let name=this.tempTipArray[s][i].name;
        let value=this.tempTipArray[s][i].value;
         str+=((i+1)+"-"+name+":"+value+"\t\r");        
      }
        this.$notify({
        title: '查询结果',
        message: '返回的对象:\n' + str,
        type: 'success'
      });
      
    
      // this.staffInfo.staffId = event.target.id
      // this.staffInfo.staffName = event.target.name
      // this.staffInfo.deptName = event.target.dataset.dept

    }
}

到了这里,关于vue-seamless-scroll的使用以及实例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue大屏开发系列—列表无缝滚动之vue-seamless-scroll

    目录 一 安装 二 使用  三 简单使用 四  应用 vue-seamless-scroll是一个基于Vue.js的简单无缝滚动组件, 基于requestAnimationFrame实现,配置多满足多样需求。目前支持上下左右无缝滚动,单步滚动,以及支持水平方向的手动切换功能 官方文档:  vue-seamless-scroll的简介及使用教程 - M

    2023年04月15日
    浏览(44)
  • Vue 之 vue-seamless-scroll 实现简单自动无缝滚动,且添加对应点击事件的简单整理

    目录 Vue 之 vue-seamless-scroll 实现简单自动无缝滚动,且添加对应点击事件的简单整理 一、简单介绍 二、安装和使用 三、效果图 四、vue-seamless-scroll 点击事件实现原理  五、简单实现  六、关键代码 Vue 开发的一些知识整理,方便后期遇到类似的问题,能够及时查阅使用。 本

    2024年02月09日
    浏览(39)
  • vue3-seamless-scroll 自动横向滚动 滚动插件

    Vue3.0 无缝滚动组件,支持Vite2.0,支持服务端打包 目前组件支持上下左右无缝滚动,单步滚动,并且支持复杂图标的无缝滚动,目前组件支持平台与 Vue3.0 支持平台一致。 npm Yarn browser list 无缝滚动列表数据,组件内部使用列表长度。 v-model 通过v-model控制动画滚动与停止,默

    2024年01月19日
    浏览(58)
  • chrome插件开发实例08- 使用Vue.js开发chrome插件

    目录 背景 演示 功能介绍 插件下载 注意写法:  将  下面的两个插件 改写成vue.js , elementui  实现

    2024年02月13日
    浏览(43)
  • 使用 vue-3-socket.io 插件以及node.js实现实时聊天(1)

     这篇文章使用选项式API的写法,以实现群聊和私聊为主 客户端自然是对应使用vue3框架,服务端使用node.js配合express、http、socket.io、file等库来实现,具体如下: 1、下载所需的依赖 2、做socket客户端配置 注:\\\"http://localhost:3000\\\",该地址端口是对应后面配置服务端时所开放的端

    2024年02月05日
    浏览(43)
  • Vue3 开发实战分享——打印插件 Print.js 的使用(Vue3 + Nodejs + Print.js 实战)以及 el-table 与 el-pagination 的深入使用(下)

    在进入文章的正文之前,我们先一起了解一下关于 CSDN 今年的 1024 程序员节。与此同时这也是我在 CSDN 参与的第二个 1024 程序员节日,转眼间也快写博客两年时间,去年很遗憾没有去到深圳(疫情原因)线下参加这个有趣而充实的峰会。今年没有特殊情况的话一定会如约而至

    2024年02月06日
    浏览(52)
  • Vue3 开发实战分享——打印插件 Print.js 的使用(Vue3 + Nodejs + Print.js 实战)以及 el-table 与 el-pagination 的深入使用(上)

    今天久违的更新一下关于 Vue 的文章了,本篇文章是基于 Vue3 + Node.js + ElementPlus 的实战项目分享,实战内容包括有打印插件 Print.js 的使用,以及关于 ElementPlus 中的 el-table 与 el-pagination 的深入使用。本次项目以文章(axios 实战进阶练习——基于 Vue3 + Node.js + ElementPlus 实现的联

    2024年02月06日
    浏览(46)
  • vue通过js代码实例化组件

    最近在写项目的一些公共组件(一些选择器),很多个地方都需要用,所以在main.js全局声明了,但发现子页面调用还是有挺多的地方需写。 例如,要在template实例化组件,并用ref绑定,然后在js里的methods里写方法。 main.js 声明全局组件 第一种方案 一开始想到的是用ref绑定组

    2024年02月08日
    浏览(39)
  • 解决Vue.js Devtools未检测到Vue实例的问题

    在开发Vue.js应用时,Vue.js Devtools是一个不可或缺的调试工具。它能帮助开发者实时查看并操作Vue组件的状态、数据和方法等信息。然而,有时我们可能会遇到“Vue.js not detected”的提示,这意味着Vue.js Devtools未能成功识别和连接到我们的Vue应用。本文将详细解析这个问题,并提

    2024年01月16日
    浏览(40)
  • Vue Grid Layout - 适用Vue.js的栅格布局系统(项目实例)

    gitee:grid-project-gitee B站视频:Vue-Grid-Layout 创建vue项目 vue create vite-layout // 使用 vue/cli 创建 vue 项目 下载依赖 npm i vue-grid-layout less less-loader@4 --s // 下载 vue-grid-layout依赖、less预处理器(两者保持版本相兼容即可) 项目样式重置 搭建 vue-grid-layout的环境 文件结构(暂定) - src |

    2024年02月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包