@dolphinweex/weex-vue-render 0.2.41 → 0.2.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3373,8 +3373,8 @@ function watchAppear (context, fireNow) {
3373
3373
  * 此处延时执行是临时规避措施,后续需要优化
3374
3374
  */
3375
3375
  if (i == 0) {
3376
- setTimeout(() => {
3377
- detectAppear(el, visibleData, dir);
3376
+ setTimeout(() => {
3377
+ detectAppear(el, visibleData, dir);
3378
3378
  }, 1);
3379
3379
  } else {
3380
3380
  detectAppear(el, visibleData, dir);
@@ -6056,8 +6056,9 @@ var scrollable$1 = {
6056
6056
  this._loadmoreReset = false;
6057
6057
  var el = this.$el;
6058
6058
  if (el) {
6059
- var eventName = this.weexType === 'scroller' ? 'loadmore' : 'loading';
6060
- weex.utils.dispatchNativeEvent(el, eventName);
6059
+ // 根据weex官方文档查:loading组件是loading,其余都是loadmore
6060
+ // var eventName = this.weexType === 'scroller' ? 'loadmore' : 'loading';
6061
+ weex.utils.dispatchNativeEvent(el, 'loadmore');
6061
6062
  }
6062
6063
  }
6063
6064
  }
@@ -7047,6 +7048,8 @@ function getLoading () {
7047
7048
  },
7048
7049
  watch: {
7049
7050
  height: function height (val) {
7051
+ // 最大150像素
7052
+ val = Math.min(val, 150);
7050
7053
  var offset = val + "px";
7051
7054
  this.$el.style.height = offset;
7052
7055
  this.$el.style.bottom = 0;
@@ -7734,7 +7737,8 @@ var slideMixin = {
7734
7737
  }
7735
7738
  },
7736
7739
 
7737
- _slideTo: function _slideTo(index, isTouchScroll) {
7740
+ _slideTo: function _slideTo(index, isTouchScroll, transtionTime = null) {
7741
+ let slideTranstionTime = this.isTransform ? `transform ${transtionTime || TRANSITION_TIME / 1600}s ease-out` : `left ${transtionTime || TRANSITION_TIME / 1600}s ease-out`
7738
7742
  var this$1 = this;
7739
7743
  if (this.frameCount <= 0) {
7740
7744
  return;
@@ -7782,7 +7786,7 @@ var slideMixin = {
7782
7786
  lastNode.style.zIndex = '10';
7783
7787
 
7784
7788
  // 执行向左滑动动画
7785
- inner.style.transition = this.isTransform ? `transform ${TRANSITION_TIME / 1000}s ease-in-out` : `left ${TRANSITION_TIME / 1000}s ease-in-out`;
7789
+ inner.style.transition = slideTranstionTime;
7786
7790
  this.innerOffset += this._wrapperWidth;
7787
7791
  this._setPosition(inner, this.innerOffset);
7788
7792
 
@@ -7795,7 +7799,7 @@ var slideMixin = {
7795
7799
  this._setPosition(inner, this.innerOffset);
7796
7800
 
7797
7801
  setTimeout(() => {
7798
- inner.style.transition = this.isTransform ? `transform ${TRANSITION_TIME / 1000}s ease-in-out` : `left ${TRANSITION_TIME / 1000}s ease-in-out`;
7802
+ inner.style.transition = slideTranstionTime;
7799
7803
  }, 50);
7800
7804
  }, TRANSITION_TIME);
7801
7805
 
@@ -7811,7 +7815,7 @@ var slideMixin = {
7811
7815
  inner.appendChild(cloneNode);
7812
7816
 
7813
7817
  // 执行向右滑动动画
7814
- inner.style.transition = this.isTransform ? `transform ${TRANSITION_TIME / 1000}s ease-in-out` : `left ${TRANSITION_TIME / 1000}s ease-in-out`;
7818
+ inner.style.transition = slideTranstionTime;
7815
7819
  this.innerOffset -= this._wrapperWidth;
7816
7820
  this._setPosition(inner, this.innerOffset);
7817
7821
 
@@ -7827,7 +7831,7 @@ var slideMixin = {
7827
7831
  this._setPosition(inner, 0);
7828
7832
 
7829
7833
  setTimeout(() => {
7830
- inner.style.transition = this.isTransform ? `transform ${TRANSITION_TIME / 1000}s ease-in-out` : `left ${TRANSITION_TIME / 1000}s ease-in-out`;
7834
+ inner.style.transition = slideTranstionTime;
7831
7835
  }, 50);
7832
7836
  }, TRANSITION_TIME);
7833
7837
 
@@ -7835,13 +7839,13 @@ var slideMixin = {
7835
7839
  } else {
7836
7840
  // 正常切换
7837
7841
  this.innerOffset = -index * this._wrapperWidth;
7838
- inner.style.transition = this.isTransform ? `transform ${TRANSITION_TIME / 1000}s ease-in-out` : `left ${TRANSITION_TIME / 1000}s ease-in-out`;
7842
+ inner.style.transition = slideTranstionTime;
7839
7843
  this._setPosition(inner, this.innerOffset);
7840
7844
  }
7841
7845
  } else {
7842
7846
  // 非无限轮播的正常切换
7843
7847
  this.innerOffset = -index * this._wrapperWidth;
7844
- inner.style.transition = this.isTransform ? `transform ${TRANSITION_TIME / 1000}s ease-in-out` : `left ${TRANSITION_TIME / 1000}s ease-in-out`;
7848
+ inner.style.transition = slideTranstionTime;
7845
7849
  this._setPosition(inner, this.innerOffset);
7846
7850
  }
7847
7851
 
@@ -8256,6 +8260,8 @@ var slideMixin = {
8256
8260
  if (!this.scrollable || this.frameCount<=1) {
8257
8261
  return // 🚫 禁止滚动行为
8258
8262
  }
8263
+ this.lastMoveTime = Date.now();
8264
+ this.lastMovePosition = event.touches[0].pageX;
8259
8265
  var touch = event.changedTouches[0];
8260
8266
  this._stopAutoPlay();
8261
8267
  var inner = this.$refs.inner;
@@ -8303,6 +8309,20 @@ var slideMixin = {
8303
8309
  var offsetY = touch.pageY - startY;
8304
8310
  tp.offsetX = offsetX;
8305
8311
  tp.offsetY = offsetY;
8312
+
8313
+ const now = Date.now();
8314
+ const deltaTime = now - this.lastMoveTime;
8315
+ const deltaX = Math.abs(event.touches[0].pageX - this.lastMovePosition);
8316
+ if (deltaTime > 0) {
8317
+ this.velocity = deltaX / deltaTime; // 像素/毫秒
8318
+ // 计算动画时间,速度越大动画时间越短
8319
+ const baseTime = TRANSITION_TIME / 1000; // 基准时间
8320
+ const minTime = 0.1; // 最小动画时间(秒)
8321
+ this.transitionDuration = Math.max(minTime, baseTime / (this.velocity + 1));
8322
+ }
8323
+
8324
+ this.lastMoveTime = now;
8325
+ this.lastMovePosition = event.touches[0].pageX;
8306
8326
  var isV = tp.isVertical;
8307
8327
  if (typeof isV === 'undefined') {
8308
8328
  isV = tp.isVertical = Math.abs(offsetX) < Math.abs(offsetY);
@@ -8413,7 +8433,7 @@ var slideMixin = {
8413
8433
  var reset = Math.abs(offsetX / this._wrapperWidth) < 0.2;
8414
8434
  var direction = offsetX > 0 ? 1 : -1;
8415
8435
  var newIndex = reset ? this.currentIndex : (this.currentIndex - direction);
8416
- this._slideTo(newIndex, true);
8436
+ this._slideTo(newIndex, true ,this.transitionDuration);
8417
8437
  }
8418
8438
  delete this._touchParams;
8419
8439
  },
package/package.json CHANGED
@@ -49,5 +49,5 @@
49
49
  "type": "git",
50
50
  "url": "git+ssh://git@github.com/weexteam/weex-vue-render.git"
51
51
  },
52
- "version": "0.2.41"
52
+ "version": "0.2.43"
53
53
  }