微信H5禁止下拉 且可下滚动指定区域

 var app = document.getElementsByClassName("tree-hole-room-messages")[0];
    var touchstartY;
    app.addEventListener(
      "touchstart",
      function(event) {
        console.log(1);
        var events = event.touches[0] || event;
        touchstartY = events.clientY; //获取触摸目标在视口中的y坐标
      },
      false
    );

    app.addEventListener(
      "touchmove",
      function(event) {
        var events = event.touches[0] || event;
        //注意app.scrollTop始终为0
        var scrollTop = app.scrollTop || document.documentElement.scrollTop; //获取滚动部分的高度
        var clientHeight = document.documentElement.clientHeight; //获取手机屏幕高度(可视部分高度)
        var scrollHeight = app.scrollHeight; //所有内容的高度
        if (
          events.clientY > touchstartY &&
          scrollTop === 0 &&
          event.cancelable
        ) {
          event.preventDefault(); //禁止到顶下拉
        } else if (
          scrollTop + clientHeight > scrollHeight &&
          event.cancelable
        ) {
          // event.preventDefault(); //禁止到底上拉
        }
      },
      false
    );

  

代码实现在tree-hole-room-messages这个滚动区域内下拉不会出现。

且可用滚动这个区域

原文地址:https://www.cnblogs.com/saving/p/11186460.html

时间: 2024-11-15 00:35:59

微信H5禁止下拉 且可下滚动指定区域的相关文章

纯CSS实现下拉菜单及下拉容器等(纯CSS实现导航条及导航下拉容器)

原文:纯CSS实现下拉菜单及下拉容器等(纯CSS实现导航条及导航下拉容器) 虽然网上类似甚至相同的案例有很多,但是我还是写下,以记下笔记,也可供大家参考 希望大家可以指导批评~~ 首先我们以列表ul li 来开始我们菜单也可以说导航条的制作: 在页面中我们首先构建以下XHTML结构: <body> <ul id="navWrapper"> <li> <a href="#">Menu A</a> <ul

如何制作带有下拉刷新和下拉加载更多的列表

一般的APP软件都是需要下拉刷新,下拉加载这两个功能的,今天我们就来学习怎么样实现这两个功能. 我们先来讲一下他们的原理,这里我们将采取的方案是使用组合View的方式,先自定义一个布局继承自LinearLayout,然后在这个布局中加入下拉头和ListView这两个子元素,并让这两个子元素纵向排列.初始化的时候,让下拉头向上偏移出屏幕,这样我们看到的就只有ListView了.然后对ListView的touch事件进行监听,如果当前ListView已经滚动到顶部并且手指还在向下拉的话,那就将下拉头

Uep的静态下拉和动态下拉建立

uep的静态下拉和动态下拉的建立极其省事,下面介绍静态下拉的建立 静态下拉 第一步:点击增加,输入信息 第二步: 第三步:保存 第四部: 静态下拉就建立完毕了 下面介绍动态下啦建立,动态下拉更简单 动态下拉和静态下拉中不同的是sql语句还有相关联的表,到此uep俩种类型的下拉介绍完毕

坐姿下拉 - 坐姿宽握下拉/窄握下拉动作图解

坐姿下拉 - 坐姿宽握下拉/窄握下拉动作图解 坐姿下拉(Pull-down)也是练习背部必不可少的有效动作,效果与引体向上作用类似.对于初学者来说,由于力量不够而无法完成引体向上,坐姿下拉无疑是最好的替代选择,可以自己控制负荷重量. 目标锻炼部位:背阔肌.以及背部其他小肌群(大圆肌等) 宽握下拉:背阔肌上侧.外侧两部分,有效增加背阔肌的宽度: 窄握下拉:背阔肌下侧,有利于增加背阔肌的厚度. 动作要领: 1.坐在拉背练习机的固定坐位上,两手按握距和握法要求分别握住上方横杠两端的把柄. 2.吸气,从

jqgrid 表格中筛选条件的多选下拉,树形下拉 ;文本框清除插件;高级查询多条件动态筛选插件

/** * @@desc 文本框清除按钮,如果isAutoWrap为false当前文本框父级必须是relative定位,boostrap参考input-group * @@author bear.LEE <571115139#qq.com> * @@since 2018-08-21 **/ ; (function ($) { $.fn.extend({ addClearBtn: function (options, $o) { var deft = { symbolClass: "f

微信小程序上拉加载下拉刷新

微信小程序实现上拉加载下拉刷新 使用小程序默认提供方法. (1). 在xxx.json 中开启下拉刷新,需要设置backgroundColor,或者是backgroundTextStyle ,因为加载的动画可能会是白色背景,会看不清. { "usingComponents": { "annicate": "/components/annicate/index" }, "navigationBarTitleText": &quo

iscroll4实现下拉刷新和下拉加载更多

开发项目中,需要用到下拉刷新,开始本来打算自己写这个效果的.但是,自己写的效果不流畅,显得死板.通过查询相关资料,发现了iscroll插件. iScroll是一种高性能,小体积,无依赖性,跨平台的JS滚动,下拉刷新插件,可以动态加载分页内容.它适用于台式机,手机和智能电视.它的性能和尺寸大力优化等提供的一致好评现代老设备的平滑效果. 版本:iscroll4 代码如下: html代码 <!DOCTYPE html> <html> <head> <title>下

纯洁CSS实现下拉菜单和下拉容器(纯洁CSS导航栏和导航下拉容器)

虽然网上课程似即使案件大同小异,但我还是写,记笔记,也为您提供参考 我希望你能指导批评~~ 首先,我们必须列出ul li 开始我们的导航栏菜单也能说生产: 在下面的页面,我们先建XHTML结构体: <body> <ul id="navWrapper"> <li> <a href="#">Menu A</a> <ul> <li><a href="#">M

easyui 绑定下拉框,下拉框选择改变事件的触发方法

//①定义下拉框 //离线公司[个人或公司] 下拉框 var tmpComOrPer = { type: 'combobox', options: { onSelect:function(data) { ComOrPerChange(false); }, editable:false, panelHeight: 'auto', valueField: 'Type', textField: 'label', data: [ { label: '@BaseRes.OSP_CTL_087', Type