亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

vue的無縫滾動組件vue-seamless-scroll實例

2019-11-19 14:42:57
字體:
來源:轉載
供稿:網友

Installation

NPM

npm install vue-seamless-scroll --save

Usage

ES6

以下es6用法需要webpack環境編譯.

<template>  <div id="app">    <div class="fixed top-0 w-100 z-1 flex-none flex flex-row items-center pv3 ph4 bg-blue white">      <div class="flex-none"><a  rel="external nofollow" rel="external nofollow" rel="noopener"                   target="_blank" title="View on Github">        <svg xmlns="http://www.w3.org/2000/svg" fill="white" width="32" height="32" viewBox="0 0 16 16">          <path d="M8 .198c-4.418 0-8 3.582-8 8 0 3.535 2.292 6.533 5.47 7.59.4.075.548-.173.548-.384 0-.19-.008-.82-.01-1.49-2.227.485-2.696-.943-2.696-.943-.364-.924-.888-1.17-.888-1.17-.726-.497.055-.486.055-.486.802.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.776-.202-3.644-.888-3.644-3.954 0-.874.313-1.588.824-2.148-.083-.202-.357-1.015.077-2.117 0 0 .672-.215 2.2.82.64-.177 1.323-.266 2.003-.27.68.004 1.365.093 2.004.27 1.527-1.035 2.198-.82 2.198-.82.435 1.102.162 1.916.08 2.117.512.56.822 1.274.822 2.147 0 3.072-1.872 3.748-3.653 3.946.288.248.544.735.544 1.48 0 1.07-.01 1.933-.01 2.196 0 .213.145.462.55.384 3.178-1.06 5.467-4.057 5.467-7.59 0-4.418-3.58-8-8-8z"></path>        </svg>      </a>      </div>      <div class="flex-none" style="margin-left: 10px;"><a  rel="external nofollow" rel="external nofollow"                    class="white no-underline underline-hover">vue-seamless-scroll</a></div>    </div>    <p class="pt5 f2" style="text-align: center;">無縫滾動demo</p>    <div class="flex wd800">      <div class="options" style="color:#357edd;">        <p><b>demo1</b> 向上無縫滾動,hover可停止</p>        var option = {<br/>              step: 0.5,<br/>              limitMoveNum: 5<br/>        }      </div>      <my-class :data="listData" :class-option="classOption" @copy-data="listData = listData.concat(listData)"           class="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>      </my-class>    </div>    <div class="flex wd800">      <div class="options" style="color:#357edd;">        <p><b>demo2</b> limitMoveNum過大不滾動 開啟了openWatch</p>        <p>3s后data增加到9條</p>        var option = {<br/>              limitMoveNum: 7<br/>        }      </div>      <my-class :data="listData1" :class-option="classOption1"           @copy-data="listData1 = listData1.concat(listData1)"           class="warp">        <ul class="item">          <li v-for="item in listData1"><span class="title" v-text="item.title"></span><span              class="date" v-text="item.date"></span></li>        </ul>      </my-class>    </div>    <div class="flex wd800">      <div class="options" style="color:#357edd;">        <p><b>demo3</b> limitMoveNum過大不滾動 關閉了openWatch</p>        <p>3s后data增加到9條</p>        var option = {<br/>              limitMoveNum: 7<br/>              openWatch: false<br/>        }      </div>      <my-class :data="listData2" :class-option="classOption2"           @copy-data="listData2 = listData2.concat(listData2)"           class="warp">        <ul class="item">          <li v-for="item in listData2"><span class="title" v-text="item.title"></span><span              class="date" v-text="item.date"></span></li>        </ul>      </my-class>    </div>    <div class="flex wd800">      <div class="options" style="color:#357edd;">        <p><b>demo4</b> 向下滾動,禁止了hover懸停</p>        var option = {<br/>              limitMoveNum: 5,<br/>              direction: 0,<br/>              hoverStop: false,<br/>        }      </div>      <my-class :data="listData3" :class-option="classOption3"           @copy-data="listData3 = listData3.concat(listData3)"           class="warp">        <ul class="item">          <li v-for="item in listData3"><span class="title" v-text="item.title"></span><span              class="date" v-text="item.date"></span></li>        </ul>      </my-class>    </div>    <div class="flex wd800">      <div class="options" style="color:#357edd;">        <p><b>demo5</b> 向上無縫滾動,單條停止一段時間</p>        var option = {<br/>              step: 0.5,<br/>              limitMoveNum: 5<br/>              singleHeight: 30,<br/>              waitTime: 1000<br/>        }      </div>      <my-class :data="listData4" :class-option="classOption4"           @copy-data="listData4 = listData4.concat(listData4)"           class="warp">        <ul class="item">          <li v-for="item in listData4"><span class="title" v-text="item.title"></span><span class="date"                                                    v-text="item.date"></span>          </li>        </ul>      </my-class>    </div>  </div></template><script> import myClass from '../src/components/myClass.vue' export default {  name: 'app',  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'    }],    listData1: [{     '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'    }],    listData2: [{     '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'    }],    listData3: [{     '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'    }],    listData4: [{     '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'    }],   }  },  computed: {   classOption () {    return {     step: 0.5,     limitMoveNum: 5    }   },   classOption1 () {    return {     limitMoveNum: 7    }   },   classOption2 () {    return {     limitMoveNum: 7,     openWatch: false    }   },   classOption3 () {    return {     limitMoveNum: 5,     direction: 0,     hoverStop: false    }   },   classOption4 () {    return {     step: 0.5,     limitMoveNum: 5,     singleHeight: 30,     waitTime: 1000    }   }  },  components: {   myClass  },  created () {   setTimeout(() => {    this.listData1 = this.listData2 = [{     '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'    }]   }, 3000)  } }</script><style lang="scss">  #app {    padding-bottom: 100px;  }  .flex-fill {    -ms-flex: 1 1;    flex: 1 1;  }  .options {    width: 300px;    font-size: 15px;    margin-right: 60px;    p {      color: #000;      margin-bottom: 30px;      b {        font-size: 16px;        font-style: italic;      }    }  }  .wd800 {    width: 800px;    margin: 30px auto;  }  .warp {    height: 260px;    width: 360px;    overflow: hidden;    ul {      list-style: none;      padding: 0;      margin: 0 auto;      li {        height: 30px;        line-height: 30px;        display: flex;        justify-content: space-between;        font-size: 15px;      }    }  }  @media screen and (max-width: 770px) {    .warp {      width: 90%;      margin: 0 auto;    }    body {      background-color: lightblue;    }    .wd800 {      width: 100%;    }    .flex.wd800 {      display: block;    }    .options {      width: 90%;      margin: 20px auto;      p {        margin-bottom:0;      }    }  }</style>
import Vue from 'vue'import vueSeamlessScroll from 'vue-seamless-scroll'new Vue({ components: {  vueSeamlessScroll }})

普通模式 (script tag)

Example:

<!doctype html><html lang="en">  <head>    <meta charset="UTF-8">    <meta name="viewport"       content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">    <meta http-equiv="X-UA-Compatible" content="ie=edge">    <title>Document</title>    <style>      .warp {        height: 260px;        width: 360px;        overflow: hidden;      }      .warp ul {        list-style: none;        padding: 0;        margin: 0 auto;      }      .warp li {        height: 30px;        line-height: 30px;        display: flex;        justify-content: space-between;        font-size: 15px;      }    </style>  </head>  <body>    <div id="app">      <vue-seamless-scroll :data="listData" :class-option="classOption"                 @copy-data="listData = listData.concat(listData)"                 class="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>    </div>    <script src="https://cdn.bootcss.com/vue/2.5.9/vue.js"></script>    <script src="../dist/vue-seamless-scroll.min.js"></script>    <script>     new Vue({      el: '#app',      data: {       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'       }]      },      computed: {       classOption: function () {        return {         step: 0.5,         limitMoveNum: 5        }       }      }     })    </script>  </body></html>
<html><head> ...</head><body> <div id="app">  <vue-seamless-scroll></vue-seamless-scroll> </div> <script src="vue.js"></script> <script src="vue-seamless-scroll"></script> <script>  new Vue({   el: '#app'  }) </script></body></html>

Configure

 defaultOption () {    return {     step: 1, //步長 越大滾動速度越快     limitMoveNum: 5, //啟動無縫滾動最小數據量 this.dataList.length     hoverStop: true, //是否啟用鼠標hover控制     direction: 1, //1 往上 0 往下     openWatch: true, //開啟data實時監聽     singleHeight: 0, //單條數據高度有值hoverStop關閉     waitTime: 1000 //單步停止等待時間    }   }

TKS

vue-seamless-scroll發現bug或者有什么不足望指點,感覺不錯點個star吧。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美视频在线观看 亚洲欧| 日韩欧美第一页| 欧美中文字幕在线视频| 日韩精品免费电影| 黑人巨大精品欧美一区二区免费| 日韩中文字幕在线视频播放| 久久久国产视频| 九九视频这里只有精品| 日韩精品极品在线观看| 国产欧美日韩中文字幕在线| 久久久成人的性感天堂| 欧美在线激情网| 久久精品中文字幕一区| 欧美日韩人人澡狠狠躁视频| 日本一区二区在线播放| 久久成人综合视频| 亚洲欧美日韩另类| 久久久亚洲国产| 欧美老女人性视频| 国产精品爱久久久久久久| 亚洲国产成人久久综合| 亚洲欧美国产视频| 91精品国产成人www| 国产精品电影久久久久电影网| 欧美丰满少妇xxxx| 欧美成人亚洲成人| 久久影视电视剧免费网站| 国产亚洲美女精品久久久| 2019中文在线观看| 欧美在线观看一区二区三区| 日韩有码视频在线| 日韩欧美精品在线观看| 国产精品精品一区二区三区午夜版| 久久国产色av| 九九热最新视频//这里只有精品| 亚洲国产欧美一区二区三区同亚洲| 91精品一区二区| 97视频在线播放| 亚洲第一区中文99精品| 亚洲欧美日韩天堂一区二区| 成人黄色免费看| 国产精品成人一区二区三区吃奶| 91精品国产高清久久久久久| 亚洲精品二三区| 国内精品久久久久久久久| 91社区国产高清| 精品小视频在线| 久久手机免费视频| 九九热最新视频//这里只有精品| 欧美一级成年大片在线观看| 亚洲加勒比久久88色综合| 欧美精品成人91久久久久久久| 深夜精品寂寞黄网站在线观看| 国产美女高潮久久白浆| 日韩精品福利网站| 亚洲第一天堂无码专区| 久久久久免费精品国产| 日韩欧美精品中文字幕| 欧美激情一二区| 日韩女优人人人人射在线视频| 精品视频久久久久久| 国产精品一区av| 欧美在线视频免费播放| 欧美日韩在线视频首页| 日韩影视在线观看| 亚洲男人天堂手机在线| 亚洲精品午夜精品| 国产精品视频永久免费播放| 中文字幕亚洲图片| 中文字幕最新精品| 亚洲欧美国产精品久久久久久久| 日本欧美中文字幕| 性色av一区二区三区红粉影视| 夜夜嗨av一区二区三区四区| 欧美激情第1页| 日韩一级黄色av| 亚洲一区免费网站| 亚洲香蕉成视频在线观看| 色偷偷9999www| 国产日韩在线免费| 国产精品偷伦一区二区| 日韩黄色在线免费观看| 国产欧美va欧美va香蕉在| 欧美激情亚洲一区| 91精品久久久久久久久久久久久| 久久中文字幕一区| 久久免费视频这里只有精品| 久久久久久久影院| 91经典在线视频| 一本大道香蕉久在线播放29| 欧美日韩中文字幕| 亚洲美女在线视频| 欧美电影在线观看完整版| 51色欧美片视频在线观看| 日韩中文字幕第一页| 国产成人精品免高潮在线观看| 中文字幕亚洲在线| 午夜精品久久久久久久男人的天堂| 欧美激情一区二区三区在线视频观看| 亚洲国产精品热久久| 日韩风俗一区 二区| 国产精品久久久久久久天堂| 国产亚洲精品日韩| 久久亚洲私人国产精品va| 久久艳片www.17c.com| 国产精品久久久久久久久影视| 亚洲欧美日韩国产中文| 日韩电影中文 亚洲精品乱码| 国产亚洲aⅴaaaaaa毛片| 国产精品91视频| 国产精品扒开腿做爽爽爽的视频| 亚洲一区二区三区在线视频| 欧美日韩国产区| 国外日韩电影在线观看| 国产午夜精品久久久| 国产精品福利在线观看网址| 亚洲人成自拍网站| 自拍偷拍免费精品| 国产精品一区二区电影| 欧美美女18p| 国产+成+人+亚洲欧洲| 国产精品黄色av| 欧美精品久久久久久久久久| www.色综合| 韩曰欧美视频免费观看| 国产欧美久久久久久| 欧美性jizz18性欧美| 久久香蕉精品香蕉| 国产欧美 在线欧美| 国产精品三级网站| 国产精品激情av在线播放| 隔壁老王国产在线精品| 国产日本欧美在线观看| 久久91精品国产91久久久| 欧美高清视频免费观看| 精品视频一区在线视频| 日韩免费在线视频| 91九色视频在线| 亚洲欧洲日韩国产| 欧美国产日韩在线| 亚洲免费中文字幕| 国产一区香蕉久久| 亚洲欧美激情在线视频| 亚洲天堂av在线免费观看| 美乳少妇欧美精品| 亚洲欧美综合图区| 国产在线视频2019最新视频| 日韩视频第一页| 欧美在线一级视频| 2019中文字幕免费视频| 国产成人精品国内自产拍免费看| 亚洲成人黄色在线| 国产精品久久久久久搜索| 日本欧美中文字幕| 性欧美激情精品| 国产91在线播放九色快色| 日韩精品免费在线| 国产精品久久久久久中文字| 久久国产天堂福利天堂| 亚洲高清在线观看| xxxxx91麻豆| 亚洲欧美综合v| 成人信息集中地欧美| 国产欧美日韩中文字幕在线|