You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
3.8 KiB

6 months ago
  1. # hx-jump-ball 用于加入购物车的跳跃效果
  2. 特效组件
  3. 本组件目前兼容H5、5+APP。
  4. ![image](https://raw.githubusercontent.com/Asuancaiyu/uniapp/master/components/hx-jump-ball/demo.gif)
  5. ### 使用案例:
  6. [使用案例:HX商城。模版地址:https://ext.dcloud.net.cn/plugin?id=1352](https://ext.dcloud.net.cn/plugin?id=1352)
  7. ### 本组件支持模式:
  8. 1. 主要应用在购物车添加商品时的动态效果
  9. ### 使用前提
  10. 注意HBuilder X 2.4.7版本以下 H5 是没有效果的,app有;所以赶紧升级编辑器!!!
  11. ### 使用方式
  12. 页面使用需在 ``` script ``` 中引用组件
  13. ``` javascript
  14. import hxJumpBall from "@/components/hx-jump-ball/hx-jump-ball.vue"
  15. export default {
  16. components: {hxJumpBall}
  17. }
  18. ```
  19. ### 属性
  20. #### 基本属性
  21. | 名称 | 类型 | 默认值 | 描述 |
  22. | ----------------------------|--------------- | ---------------------- | ---------------------------------------------------|
  23. | element | Array | [] | `[起跳元素,终点元素]`必填项,可以动态改变起跳元素,使用方式看demo |
  24. | start | Number | 1 | 想要执行一次动画,需要改变该值(每次加一或减一) |
  25. | ballWidth | Number | 15 | 小球宽度 |
  26. | ballHeight | Number | 15 | 小球高度 |
  27. | backgroundColor | String | reg | 小球颜色 |
  28. | backgroundImage | String | '' | 小球图片 |
  29. | index | Number | 1 | 堆叠顺序(z-index 参数) |
  30. | bezier | String | cubic-bezier(.6,-0.63,.94,.71) | 贝塞尔曲线,如果你想调整小球跳跃高度只需调整第二个参数 (-1 ~ 1) |
  31. | speed | Number | 800 | 下落速度(毫秒) |
  32. ### 事件
  33. | 名称 | 参数 | 描述 |
  34. | -----------------|------------------| --------------------------|
  35. | @msg | res | 执行成功返回{code:0} ,失败返回{code:1,error:'info'} |
  36. ## 使用例子
  37. ### html
  38. ``` html
  39. <template>
  40. <view>
  41. <jumpBall :start.sync="num" :element.sync="element" @msg="jbMsg" />
  42. <view class="add" @click="anima()" ><button>起跳1</button></view>
  43. <view class="add2" @click="anima2()"><button>起跳2</button></view>
  44. <view class="foot"><view class="cart">测试位置</view></view>
  45. </view>
  46. </template>
  47. ```
  48. ### javacript
  49. ``` javacript
  50. <script>
  51. import jumpBall from '@/components/hx-jump-ball/hx-jump-ball.vue';
  52. export default {
  53. components: {
  54. jumpBall
  55. },
  56. data() {
  57. return {
  58. num:1,
  59. element: [],
  60. }
  61. },
  62. methods: {
  63. anima(){
  64. this.element = ['.add','.cart'];
  65. this.num ++;
  66. },
  67. anima2(){
  68. this.element = ['.add2','.cart'];
  69. this.num ++;
  70. },
  71. jbMsg(res){
  72. //执行加入购物车的逻辑
  73. console.log("执行回调",res.code);
  74. }
  75. }
  76. }
  77. </script>
  78. ```
  79. ### css
  80. ```
  81. <style>
  82. .add{
  83. position: fixed;
  84. right:30px;
  85. top: 150px;
  86. }
  87. .add2{
  88. position: fixed;
  89. right:30px;
  90. top: 250px;
  91. }
  92. .foot{
  93. position: fixed;
  94. bottom: 0;
  95. height: 90upx;
  96. background: #e1e1e1;
  97. width: 100%;
  98. }
  99. .foot .cart{
  100. width: 180upx;
  101. margin-left: 60upx;
  102. height: 90upx;
  103. background: #999999;
  104. line-height: 90upx;
  105. text-align: center;
  106. }
  107. </style>
  108. ```