zoukankan      html  css  js  c++  java
  • 小程序页面获取滚动条高度

    没有用过vue等MVVM的框架,直接开始做小程序,没有dom操作真是各种不适应,思维有时都转换不过来

    想要做的效果是  很常见的滚动条超出某个元素时,该元素固定在顶部

    网上看到的获取滚动条高度及返回顶部的代码

    onPageScroll:function(e){ // 获取滚动条当前位置
        console.log(e)
    },
    goTop: function (e) {  // 一键回到顶部
     if (wx.pageScrollTo) {
        wx.pageScrollTo({
          scrollTop: 0
        })
      } else {
        wx.showModal({
          title: '提示',
          content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
        })
      }
    }  

    在api WXML节点信息这边可以选取节点并使用boundingClientRect方法获取元素信息

    代码如下:

    <view class='tab-con' id="tab-con">
        <view class="tab {{tabFixed ? 'tab-fixed':''}}">
          <view>二月</view>
          <view>三月</view>
          <view>四月</view>
        </view>
      </view>

    js代码大概如下

    Page({
      data: {
        tabScrollTop: 0,
        tabFixed: false
      },
        onReady:function(){
        var that = this;
        var query = wx.createSelectorQuery()
        query.select('#tab-con').boundingClientRect(function (res) {
          that.setData({
            tabScrollTop: res.top
          })
        }).exec()
      },
      onPageScroll: function (e) { // 获取滚动条当前位置
          if (e.scrollTop > this.data.tabScrollTop) {
            this.setData({
              tabFixed: true
            })
          }else{
            this.setData({
              tabFixed: false
            })
          }
      },
    })  
  • 相关阅读:
    占位
    提高班整风带给我的思考
    Servlet笔记
    CommandArgument传多个值
    asp.net中怎么判断request的一个值是否为空
    asp.net中cookie中文乱码的解决
    datatable的手工构造过程
    .net c#日期时间函数大全
    【转载】[.net程序员面试题]
    javascript自动生成表格行
  • 原文地址:https://www.cnblogs.com/Anne3/p/8855173.html
Copyright © 2011-2022 走看看