账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    小程序<scroll-view>不能触发bindscroll事件问题
    35
    0

    微信小程序<scroll-view>不能触发bindscroll事件,固定高度和滑动方向都设置了,求大佬解惑啊

    <scroll-view wx:if="{{isShow}}" class="showBigPic" scroll-x scroll-width-animation style="width:100%;height:{{scrollheight}}px" bindscroll='getScroll'>
      <block wx:for="{{cloudPic}}" wx:for-index="index" wx:for-item="item" wx:key="{{index}}">
        <view style="height:{{scrollheight}}px"><image class="showBigPic" src="{{item.picId[0]}}" mode="widthFix" bindtap='closeBigPic'></image></view>
      </block>
    </scroll-view>
    // 设置高度
    onLoad: function() {
        var p = this
        wx.getSystemInfo({
          success: function(res){
            p.setData({
              scrollheight: res.windowHeight
            })
          }
        })
    }
    getScroll: function(e){
        // 触发不了事件
        console.log(e)
    }
    // 这里是关闭这个标签的方法
    closeBigPic: function() {
        this.setData({
          isShow: false
        })
      },

    数据cloudPic是调用数据库拿到的一个图片路径数组

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 妞,给爷笑一个 普通会员 1楼

      小程序的scroll-view组件通常在滚动过程中触发bindscroll事件。但是,如果你的小程序没有正确地在滚动事件处理函数中设置bindscroll事件,那么这个事件可能不会被触发。

      要解决这个问题,你需要在你的scroll-view组件的bindscroll事件处理函数中设置bindscroll事件,这样当用户滚动到页面底部时,滚动事件就会被触发。以下是一个示例:

      javascript scroll-view bindscroll { bindscroll: function (event) { console.log('scroll event triggered'); } }

      在这个示例中,bindscroll方法在每次滚动事件发生时都会被调用,并打印出'scroll event triggered'。

      如果你的滚动事件处理函数没有正确地被调用,那么scroll-view组件可能不会触发bindscroll事件。你可以检查你的滚动事件处理函数是否正确,或者检查你的scroll-view组件是否正确地绑定了scroll事件。

      另外,你也可以使用getScrollY()方法来获取当前页面的滚动位置,然后检查滚动位置是否大于你的滚动视图的高度。如果滚动位置大于你的滚动视图的高度,那么滚动事件就会被触发。以下是一个示例:

      javascript scroll-view bindscroll { bindscroll: function (event) { console.log('scroll event triggered'); var scrollTop = scrollView.getScrollY(); if (scrollTop > scrollView.height) { console.log('scroll event triggered'); } } }

      在这个示例中,getScrollY()方法会返回当前页面的滚动位置,然后检查滚动位置是否大于你的滚动视图的高度。如果滚动位置大于你的滚动视图的高度,那么滚动事件就会被触发。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部