老师这边我想让我的鼠标一触摸到图片轮播就会停止。离开就会继续。可能操作有点多,您能给个思路么。

老师这边我想让我的鼠标一触摸到图片轮播就会停止。离开就会继续。可能操作有点多,您能给个思路么。

老师这边我想让我的鼠标一触摸到图片轮播就会停止。离开就会继续。可能操作有点多,您能给个思路么。

目前自己添加的事件时bindchange,得到的效果是这个bindchange事件还没理解清除,不过能实现鼠标触摸到图片图片会停3秒。

http://img1.sycdn.imooc.com//climg/5fec2e900978ea7705250377.jpg

index.wxml代码

<!-- 第二部分swiper -->

<swiper  bindchange="changeAutoplay"

autoplay="trueinterval="3000circular="true"

previous-margin="10next-margin="10rpx">

  <swiper-item>

    <image class="swiper-img"

    src="//img1.sycdn.imooc.com//5fc067a7000130ac05400200.jpg" />

  </swiper-item>

  <swiper-item>

    <image class="swiper-img"

     src="//img1.sycdn.imooc.com//5fc067d200018a1505400200.jpg" />

  </swiper-item>

  <swiper-item>

    <image class="swiper-img"

    src="//img1.sycdn.imooc.com//5fe19d98000153a805400200.jpg" />

  </swiper-item>

</swiper>


index.js代码

//index.js首页逻辑

Page({

  data: {

  showIcon:true,

  autoplay:true

  },

  // input框逻辑部分

  handleChange(e){

    console.log(e.detail.value)

    let value=e.detail.value

    // trim()判断输入的是空格输入框不消失

    value=value.trim()

   if(value){

     this.setData({showIcon:false})

   }else{this.setData({showIcon:true})}

  },

  changeAutoplay(){

    this.setData({ autoplay: !this.data.autoplay})

  }

})






在这里输入代码,可通过选择【代码语言】突出显示

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕夭夭 2020-12-30 18:01:21

同学你好,问题解答如下:

1、bindchange是current 改变时会触发 ,current 表示当前滑块的索引。通俗的理解是,当图片一切换,才会触发bindchange,不能理解为鼠标一触摸时就触发。

2、同学所描述的需求是不符合常理的。小程序是移动端(如手机)项目,只有电脑才会鼠标,移动端是没有鼠标。例如在手机上,我们是用手指触屏,手指点到手机屏幕就是触摸开始,手指离开手机屏幕触摸结束。所以小程序中是没有鼠标离开这样的事件的,不要在移动端项目中去做电脑端项目的效果哦。

3、上面老师说了,移动端是有触摸效果的,所以一触摸就停止轮播,触摸结束就开始轮播是可以实现的。且小程序中提供的swiper自身就有这个效果,不用我们自己去做。建议同学测试一下,电脑端测试时,在图片区域按住鼠标就是触摸,鼠标松开就是触摸结束。只要按住鼠标不松开,图片就一直停止轮播。如下:

http://img1.sycdn.imooc.com//climg/5fec4faa09077da704480220.jpg

祝学习愉快~

  • 提问者 Vigorous阿炎 #1

    噢噢,好的,谢谢啦!

    2020-12-30 19:51:14
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师