Skip to content

Commit

Permalink
v1.1.23 修复 #138 #126 #127
Browse files Browse the repository at this point in the history
  • Loading branch information
xuan.chen committed Dec 6, 2020
1 parent 377b4ee commit 7028c82
Show file tree
Hide file tree
Showing 19 changed files with 1,017 additions and 25 deletions.
6 changes: 3 additions & 3 deletions .npmignore
@@ -1,8 +1,8 @@
/examples
/examples-src
/website/*
/LICENSE
/README.md
/tests/*
/.babelrc
/karma.conf.js
/.idea
/node_modules
/build
Expand Down
10 changes: 6 additions & 4 deletions dist/vue-seamless-scroll.js
Expand Up @@ -216,6 +216,10 @@ exports.default = {
}
},
methods: {
reset: function reset() {
this._cancle();
this._initMove();
},
leftSwitchClick: function leftSwitchClick() {
if (!this.leftSwitchState) return;

Expand Down Expand Up @@ -437,14 +441,12 @@ exports.default = {
this._dataWarm(newData);

if (!arrayEqual(newData, oldData)) {
this._cancle();
this._initMove();
this.reset();
}
},
autoPlay: function autoPlay(bol) {
if (bol) {
this._cancle();
this._initMove();
this.reset();
} else {
this._stopMove();
}
Expand Down
2 changes: 1 addition & 1 deletion dist/vue-seamless-scroll.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions package.json
@@ -1,12 +1,12 @@
{
"name": "vue-seamless-scroll",
"version": "1.1.21",
"version": "1.1.23",
"description": "A simple, Seamless scrolling for Vue.js",
"main": "dist/vue-seamless-scroll.min.js",
"scripts": {
"build:debug": "cross-env NODE_ENV=debug webpack --config build/webpack.dist.js",
"build:prod": "cross-env NODE_ENV=production webpack --config build/webpack.dist.js",
"build:all": "npm run build:debug && npm run build:prod && npm run build:examples",
"build:all": "npm run build:debug && npm run build:prod",
"unit:test": "cross-env BABEL_ENV=test karma start --single-run"
},
"author": "chenxuan",
Expand Down
26 changes: 19 additions & 7 deletions src/components/myClass.vue
@@ -1,9 +1,19 @@
<template>
<div ref="wrap">
<div :style="leftSwitch" v-if="navigation" :class="leftSwitchClass" @click="leftSwitchClick">
<div
:style="leftSwitch"
v-if="navigation"
:class="leftSwitchClass"
@click="leftSwitchClick"
>
<slot name="left-switch"></slot>
</div>
<div :style="rightSwitch" v-if="navigation" :class="rightSwitchClass" @click="rightSwitchClick">
<div
:style="rightSwitch"
v-if="navigation"
:class="rightSwitchClass"
@click="rightSwitchClick"
>
<slot name="right-switch"></slot>
</div>
<div
Expand Down Expand Up @@ -156,6 +166,10 @@
}
},
methods: {
reset () {
this._cancle()
this._initMove()
},
leftSwitchClick () {
if (!this.leftSwitchState) return
// 小于单步距离
Expand Down Expand Up @@ -357,7 +371,7 @@
// 防止频频hover进出单步滚动,导致定时器乱掉
if (this.singleWaitTime) clearTimeout(this.singleWaitTime)
this._cancle()
}
},
},
mounted () {
this._initMove()
Expand All @@ -367,14 +381,12 @@
this._dataWarm(newData)
//监听data是否有变更
if (!arrayEqual(newData, oldData)) {
this._cancle()
this._initMove()
this.reset()
}
},
autoPlay (bol) {
if (bol) {
this._cancle()
this._initMove()
this.reset()
} else {
this._stopMove()
}
Expand Down
108 changes: 108 additions & 0 deletions website/docs/.vuepress/components/Example09Basic.vue
@@ -0,0 +1,108 @@
<template>
<vue-seamless-scroll
:data="listData"
:class-option="classOption"
class="warp"
>
<ul class="ul-item">
<li class="li-item" v-for="(item, index) in listData" :key="index"></li>
</ul>
</vue-seamless-scroll>
</template>

<script>
import vueSeamlessScroll from 'vue-seamless-scroll'
import echarts from 'echarts'
export default {
name: 'Example09Basic',
components: {
vueSeamlessScroll
},
data () {
return {
listData: [1, 2, 3, 4, 5, 6],
classOption: {
limitMoveNum: 2,
direction: 3,
}
}
},
methods: {
drawChart (dom) {
const myChart = echarts.init(dom)
myChart.setOption({
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
legend: {
orient: 'vertical',
left: 10,
data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎']
},
series: [
{
name: '访问来源',
type: 'pie',
radius: ['50%', '70%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '30',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [
{ value: 335, name: '直接访问' },
{ value: 310, name: '邮件营销' },
{ value: 234, name: '联盟广告' },
{ value: 135, name: '视频广告' },
{ value: 1548, name: '搜索引擎' }
]
}
]
});
}
},
mounted () {
// echart渲染放到setTimeout宏任务,这时vue-seamless-scroll组件内部复制完成
setTimeout(() => {
document.querySelectorAll('.li-item').forEach(dom => {
this.drawChart(dom);
});
}, 0);
},
}
</script>

<style lang="scss" scoped>
.warp {
width: 240px * 3;
height: 210px;
margin: 0 auto;
overflow: hidden;
ul {
list-style: none;
padding: 0;
margin: 0 auto;
&.ul-item {
display: flex;
.li-item {
width: 240px;
height: 200px;
margin-right: 10px;
border: 1px solid #000;
}
}
}
}
</style>
99 changes: 99 additions & 0 deletions website/docs/.vuepress/components/Example10Basic.vue
@@ -0,0 +1,99 @@
<template>
<vue-seamless-scroll :data="listData" class="warp" ref="seamlessScroll">
<ul class="item">
<li v-for="(item, index) in listData" :key="index">
<span class="title" v-text="item.title"></span>
<span class="date" v-text="item.date"></span>
</li>
</ul>
</vue-seamless-scroll>
</template>

<script>
import vueSeamlessScroll from 'vue-seamless-scroll'
export default {
name: 'Example10Basic',
components: {
vueSeamlessScroll
},
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'
}],
}
},
mounted() {
setTimeout(() => {
this.listData[0] = {
title: '我的第一条的title,我被更新了。',
date: 'date1'
}
this.listData[1] = {
title: '我的第二条的title,我被更新了。',
date: 'date2'
}
this.listData[2] = {
title: '我的第三条的title,我被更新了。',
date: 'date3'
}
this.listData[3] = {
title: '我的第四条的title,我被更新了。',
date: 'date4'
}
this.listData.push()
// listData length无变化,仅仅是属性变更,手动调用下组件内部的reset方法
this.$refs.seamlessScroll.reset()
}, 2000);
},
}
</script>

<style lang="scss" scoped>
.warp {
height: 270px;
width: 360px;
margin: 0 auto;
overflow: hidden;
ul {
list-style: none;
padding: 0;
margin: 0 auto;
li,
a {
display: block;
height: 30px;
line-height: 30px;
display: flex;
justify-content: space-between;
font-size: 15px;
}
}
}
</style>

0 comments on commit 7028c82

Please sign in to comment.