微信小程序考试左右滑动怎么实现

微信小程序考试左右滑动怎么实现,第1张

1.使用touchstart、touchmove和touchend方法,在touchstart方法中,获取当前触点的位置,然后在touchmove方法中,通过比对当前触点位置和先前记录的触点位置,来判断用户是做左滑动还是右滑动;在touchend方法中,可以根据用户滑动的距离和滑动时间确定最终的滑动 *** 作,从而实现左右滑动功能。

2.使用微信小程序APIswiper,可以在wxml中通过添加swiper元素来实现左右滑动。开发者只需要为swiper指定相关参数(如设置每屏显示的内容、滑动时显示的指示器等),就可以实现左右滑动的效果。

由于项目是从基于谷歌浏览器改版成基于IE浏览器,所以项目中基本上是以jQuery来控制DOM,其中遇到了使用数组的push和jQuery的html方法来动态生成页面(主要是一个个运单),页面中引用了swiper,再通过循环生成后台数据所反的相对应个数的slider,但是发现在页面载入后,组件并没有生效,后来终于通过一系列搜索找到了解决的方法,也是痴呆了TAT。

<section>标签中就是装的动态生成的内容。

这里是生成所有订单的方法,其中涉及到swiper的push方法在相关图片注释处。

接下来初始化swiper,然后在请求后台数据成功后的回调函数调用fullOrder方法

结果发现swiper根本没有被调用到,默默的mark一下,在图片多的情况下判断swiper是否成功初始化看左右按钮的颜色是否一深一浅就知道了。

正确初始化swiper的方法应该是在fullOrder方法之后或者是在fullOrder里的element.html()之后。由于swiper是需要 先初始化再执行 ,但这里是先生成swiper, 所以需要在生成swiper之后再初始化

只有这样在页面加载完后swiper才会被调用成功哒。

建议,在当前轮播图的div添加类active,设置.active {display:block;},.ban{display:none}这样可以通过添加或移除active就可以了;这样以下就比较方便很多,要不然又要做循环,麻烦(swiper插件做轮播效果不错)

$(".left").click(function(){

var $index = $(".ban").hasClass("active").index()//获取当前轮播图的下标

if($index === 0 ) {//当前为第一张轮播图

$(".ban").eq($(".ban").length-1).addClass("active)

.siblings(".ban").removeClass("active")

//这里写成你自动切换的代码,我这里只是一个无动态切换效果的方法

}else {

$(".ban").eq($index-1).addClass("active)

.siblings(".ban").removeClass("active")

})

$(".right").click(function(){

var $index = $(".ban").hasClass("active").index()//获取当前轮播图的下标

if($index === ($(".ban").length-1) ) {//当前为最后一张轮播图

$(".ban").eq($(".ban").length-1).addClass("active)

.siblings(".ban").removeClass("active")

//这里写成你自动切换的代码,我这里只是一个无动态切换效果的方法

}else {

$(".ban").eq($index+1).addClass("active)

.siblings(".ban").removeClass("active")

})

//大体思路是这样了,代码可能有个别字母写得不对,毕竟是手敲的,但是大概思路是这样了


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

原文地址: http://outofmemory.cn/bake/11712819.html

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

发表评论

登录后才能评论

评论列表(0条)

保存