scroll-view.wxml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <import src="../../../common/head.wxml" />
  2. <import src="../../../common/foot.wxml" />
  3. <view class="container page" data-weui-theme="{{theme}}">
  4. <template is="head" data="{{title: 'scroll-view'}}"/>
  5. <view class="page-body">
  6. <view class="page-section">
  7. <view class="page-section-title">
  8. <text>Vertical Scroll\n纵向滚动</text>
  9. </view>
  10. <view class="page-section-spacing">
  11. <scroll-view scroll-y="true" style="height: 150px;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll" scroll-into-view="{{toView}}" scroll-top="{{scrollTop}}">
  12. <view id="demo1" class="scroll-view-item demo-text-1"></view>
  13. <view id="demo2" class="scroll-view-item demo-text-2"></view>
  14. <view id="demo3" class="scroll-view-item demo-text-3"></view>
  15. </scroll-view>
  16. </view>
  17. </view>
  18. <view class="page-section">
  19. <view class="page-section-title">
  20. <text>Horizontal Scroll\n横向滚动</text>
  21. </view>
  22. <view class="page-section-spacing">
  23. <scroll-view class="scroll-view_H" scroll-x="true" bindscroll="scroll" style="width: 100%">
  24. <view id="demo1" class="scroll-view-item_H demo-text-1"></view>
  25. <view id="demo2" class="scroll-view-item_H demo-text-2"></view>
  26. <view id="demo3" class="scroll-view-item_H demo-text-3"></view>
  27. </scroll-view>
  28. </view>
  29. </view>
  30. <view class="page-section">
  31. <view class="page-section-title">
  32. <text>自定义下拉刷新\n自定义:</text>
  33. </view>
  34. <view class="page-section-spacing">
  35. <scroll-view
  36. scroll-y style="width: 100%; height: 400px;"
  37. refresher-enabled="{{true}}"
  38. refresher-threshold="{{80}}"
  39. refresher-default-style="none"
  40. refresher-background="lightgreen"
  41. bindrefresherpulling="{{refresh.onPulling}}"
  42. >
  43. <view slot="refresher" class="refresh-container"
  44. style="display: block; width: 100%; height: 80px; background: #ECBDF0; display: flex; align-items: center;"
  45. >
  46. <view class="view1" style="position: absolute; color: white; text-align: center; width: 100%;">
  47. 下拉刷新
  48. </view>
  49. </view>
  50. <view id="demo1" class="scroll-view-item_H demo-text-1"></view>
  51. <view id="demo2" class="scroll-view-item_H demo-text-2"></view>
  52. <view id="demo3" class="scroll-view-item_H demo-text-3"></view>
  53. </scroll-view>
  54. </view>
  55. </view>
  56. <view class="page-section">
  57. <view class="page-section-title">
  58. <text>默认:</text>
  59. </view>
  60. <view class="page-section-spacing">
  61. <scroll-view
  62. scroll-y style="width: 100%; height: 400px;"
  63. refresher-enabled="{{true}}"
  64. refresher-threshold="{{100}}"
  65. refresher-default-style="white"
  66. refresher-background="lightgreen"
  67. refresher-triggered="{{triggered}}"
  68. bindrefresherpulling="onPulling"
  69. bindrefresherrefresh="onRefresh"
  70. bindrefresherrestore="onRestore"
  71. bindrefresherabort="onAbort"
  72. >
  73. <view id="demo1" class="scroll-view-item_H demo-text-1"></view>
  74. <view id="demo2" class="scroll-view-item_H demo-text-2"></view>
  75. <view id="demo3" class="scroll-view-item_H demo-text-3"></view>
  76. </scroll-view>
  77. </view>
  78. </view>
  79. <view class="page-section">
  80. <view class="page-section-title">
  81. <text>滚动驱动动画</text>
  82. </view>
  83. <view class="page-section-spacing">
  84. <scroll-view id="scroll-view_D" scroll-y="true" style="height: 150px;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll" scroll-into-view="{{toView}}" scroll-top="{{scrollTop}}">
  85. <view class="scroll-view-item_H demo-text-1" id="scroll-sample-object1"></view>
  86. <view class="scroll-view-item_H demo-text-2" id="scroll-sample-object2"></view>
  87. <view class="scroll-view-item_H demo-text-3" id="scroll-sample-object3"></view>
  88. </scroll-view>
  89. </view>
  90. </view>
  91. </view>
  92. <template is="foot" />
  93. </view>
  94. <wxs module="refresh">
  95. module.exports = {
  96. onPulling: function(evt, instance) {
  97. var p = Math.min(evt.detail.dy / 80, 1)
  98. console.log(p)
  99. var view = instance.selectComponent('.refresh-container')
  100. view.setStyle({
  101. opacity: p,
  102. transform: "scale(" + p + ")"
  103. })
  104. }
  105. }
  106. </wxs>