微信小程序遇坑——多次点击页面重复加载及数据重复提交

微信小程序遇坑——多次点击页面重复加载及数据重复提交,第1张

目前总结解决方法:同时需要设置模块的函数,函数都可放置在util.js中去。

首先:

一、在util.js中放入如下两组函数

1. 设置点击后多久不能再次 *** 作该

function throttle(fn, gapTime) {

  if (gapTime == null || gapTime == undefined) {

    gapTime = 1500

  }

  let _lastTime = null

  // 返回新的函数

  return function () {

    let _nowTime = + new Date()

    if (_nowTime - _lastTime >gapTime || !_lastTime) {

      fn.apply(this, arguments)  //将this和参数传给原函数

      _lastTime = _nowTime

    }

  }

}

2. 设置加载动画

function showLoading(message) {

  if (wx.showLoading) {    // 基础库 1.1.0 微信6.5.6版本开始支持,低版本需做兼容处理

    wx.showLoading({

      title: message, mask: true

    })

  } else {    // 低版本采用Toast兼容处理并将时间设为20秒以免自动消失

    wx.showToast({

      title: message, icon: 'loading', mask: true, duration: 20000

    })

  }

}

function hideLoading() {

  if (wx.hideLoading) {    // 基础库 1.1.0 微信6.5.6版本开始支持,低版本需做兼容处理

    wx.hideLoading()

  } else {

    wx.hideToast()

  }

}

并且将其导出作为页面使用:

module.exports = {

  throttle: throttle,

  showLoading: showLoading,

  hideLoading: hideLoading,

}

二、将函数引入页面使用

const util = require('../../utils/util.js')

即可。

通过执行其他动画的配置可以实现跨组件动画触发,以实现丰富的交互效果。执行其他动画的数量可无限叠加。配置 *** 作也非常简单。

添加执行其他动画配置,添加配置项以实现同时触发多个组件的多个动画,数量可以无限叠加。

选择所属组件,选择目标动画所属的组件。

选择目标动画,选择被执行的目标动画。

        小程序和html页面有点不同,主要是使用js来实现动画效果,因为小程序自身有提供一种方式:wx.createAnimation(OBJECT),它创建一个动画实例 animation ,通过调用实例的方法来描述动画。最后通过动画实例的export方法导出动画数据传递给组件的animation属性,step()来停止动画,step() 表示一组动画完成。

我们主要用wx:createAnimation({})来设置一些参数,例如持续时间、延时、加载方式等,用export()来开启动画,在页面上调用animation=”{{动画名称}}”。具体步骤:

1)创建动画对象并设置有效参数==>wx:createAnimation({参数:有效值})

2)创建一组动画,调用step()来表示一组动画的完成==>动画对象.动画效果.step()

3)在data中设置一个对象vip_animal(自己随意命名),用该对象开启动画==>this.setData({vip_animal: animation.export()})

4)在页面上调用动画对象==>animation="{{vip_animal}}"

例子:淡入淡出动画效果(当淡入动画生效后1.5s,淡出动画开始生效)

在wxml上调用animation="{{vip_animal}}"来显示

如果需要设置循环效果。我们可以设置:(setAnimation为)

另一种方式:

在wxml上调用style="{{style_img}}"来显示


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8069345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存