JavaScript禁止微信浏览器下拉回弹效果


Posted in Javascript onMay 16, 2017

本文实例为大家分享了JavaScript禁止微信浏览器下拉回弹的效果,供大家参考,具体内容如下

方法1:

<script type="text/javascript"> 
  var overscroll = function(el){ 
    el.addEventListener('touchstart', function(){ 
      var top = el.scrollTop; 
      var totalScroll = el.scrollHeight; 
      var currentScroll = top + el.offsetHeight; 
      if(top === 0) { 
        el.scrollTop = 1; 
      }else if(currentScroll === totalScroll){ 
        el.scrollTop = top - 1; 
      } 
    }); 
    el.addEventListener('touchmove', function(evt){ 
      if(el.offsetHeight < el.scrollHeight){ 
        evt._isScroller = true; 
      } 
    }); 
  } 
  overscroll(document.querySelector('.scroll'));//哪里需要可以局部滚动,添加一个“scroll”的class 
  document.body.addEventListener('touchmove', function(evt) { 
    if(!evt._isScroller){ 
      evt.preventDefault(); 
    } 
  }); 
</script>

此方法的优缺点:
优点:支持局部滚动;
缺点:浏览器本身超出页面出现的滚动被禁用掉了,需要改为局部滚动,且局部滚动的地方需要加“scroll”的class。
注:如果同一个页面多个局部滚动,需要将
overscroll(document.querySelector('.scroll');
改为
for(var i=0;i<document.querySelectorAll('.scroll').length;i++){
overscroll(document.querySelectorAll('.scroll')[i]);
}

方法2:

<script type="text/javascript"> 
  function stopDrop(){ 
    var lastY;//最后一次y坐标点 
    $(document.body).on('touchstart', function(event) { 
      lastY = event.originalEvent.changedTouches[0].clientY;//点击屏幕时记录最后一次Y度坐标。 
    }); 
    $(document.body).on('touchmove', function(event) { 
      var y = event.originalEvent.changedTouches[0].clientY; 
      var st = $(this).scrollTop(); //滚动条高度  
      if (y >= lastY && st <= 10) {//如果滚动条高度小于0,可以理解为到顶了,且是下拉情况下,阻止touchmove事件。 
        lastY = y; 
        event.preventDefault(); 
      } 
      lastY = y; 
    }); 
  } 
</script>

此方法的优缺点:
优点:支持浏览器本身超出页面的滚动
缺点:不支持局部滚动

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
不安全的常用的js写法
Sep 15 Javascript
JQuery下关于$.Ready()的分析
Dec 13 Javascript
JavaScript调用客户端的可执行文件(示例代码)
Nov 28 Javascript
判断及设置浏览器全屏模式
Apr 20 Javascript
基于jQuery Ajax实现上传文件
Mar 24 Javascript
js基础之DOM中document对象的常用属性方法详解
Oct 28 Javascript
jquery Banner轮播选项卡
Dec 26 Javascript
Vue开发过程中遇到的疑惑知识点总结
Jan 20 Javascript
bootstrap弹出层的多种触发方式
May 10 Javascript
jquery实现垂直无限轮播的方法分析
Jul 16 jQuery
webpack proxy 使用(代理的使用)
Jan 10 Javascript
JS实现电脑虚拟键盘的操作
Jun 24 Javascript
jQuery实现div跟随鼠标移动
Aug 20 #jQuery
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 #jQuery
bootstrap响应式表格实例详解
May 15 #Javascript
VUE多层路由嵌套实现代码
May 15 #Javascript
JavaScript制作简单的框选图表
May 15 #Javascript
vue.js 使用v-if v-else发现没有执行解决办法
May 15 #Javascript
AngularJs 常用的过滤器
May 15 #Javascript
You might like
PHP访问Google Search API的方法
2015/03/05 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
学习PHP Cookie处理函数
2016/08/09 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
jquery实现文字由下到上循环滚动的实例代码
2013/08/09 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
2014/04/14 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
require.js配合插件text.js实现最简单的单页应用程序
2016/07/12 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
2021/02/25 Javascript
将form表单通过ajax实现无刷新提交的简单实例
2016/10/12 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
完美解决linux下node.js全局模块找不到的情况
2018/05/16 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
详解Vue前端对axios的封装和使用
2019/04/01 Javascript
原生js实现简单轮播图
2020/10/26 Javascript
[59:48]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第一场 1月26日
2021/03/11 DOTA
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
分享vim python缩进等一些配置
2018/07/02 Python
python数据预处理之数据标准化的几种处理方式
2019/07/17 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
python异常处理try except过程解析
2020/02/03 Python
Python实现数字的格式化输出
2020/08/01 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
先进事迹报告会感言
2014/01/24 职场文书
公司市场专员岗位职责
2014/06/29 职场文书
2014年庆祝国庆65周年演讲稿
2014/09/21 职场文书
Django程序的优化技巧
2021/04/29 Python