HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码


Posted in HTML / CSS onApril 10, 2020

H5手指下滑弹出负一屏, 阻止移动端浏览器内置下拉刷新功能,具体实例代码如下所示:

<template>
  <div class="outer-scroll">
    <div class="loading top-box">
        默认隐藏,负一屏,手指下滑即可弹出显示,上滑隐藏
    </div>

    <div class="scroll-box">
        <h1>正式内容</h1>
    </div>
  </div>
</template>
<script>
import $ from 'jquery';
export default {
  name: 'About',
  data() {
      return {

      }
  },
  methods: {
    homescroll() {
      let scroll = document.querySelector('.scroll-box');
      let outer_scroll = document.querySelector('.outer-scroll');
      let topbox = document.querySelector('.top-box');
      let topboxHeight;
      let touchStart;
      let touchDis;
      // 注意如果绑定触摸时的事件则会在下拉时从手指的下拉位置开始下拉 该事件在手指触摸屏幕时候触发,即使已经有一个手指放在屏幕上也会触发。
      scroll.ontouchstart = function (event) {
        touchStart = 0;
        touchDis = 0;
        // 说明:由于手指头是多点触摸到屏幕上的我们所以e.originalEvent.targetTouches的
        // 意思是一个手指触碰点集合我们只需要获取第一个点就可以了所以
        touchStart = event.targetTouches[0].pageY;
        console.log(touchStart);
      };
      // 当手指在屏幕上滑动的时候连续地触发。在这个事件发生期间,调用preventDefault()事件可以阻止滚动。
      scroll.ontouchmove = (event) => {
        // 从顶部向下拖拽
        let touchPos = event.targetTouches[0].pageY;
        touchDis = touchPos - touchStart;
        if (!topboxHeight) {
          topboxHeight = topbox.offsetHeight;
        }
        console.log(topboxHeight);
        if (document.documentElement.scrollTop == 0 && touchDis >= 100) {
          topbox.style.display = 'block';
          $(scroll).stop().animate({ top: topboxHeight }, 'fast');
        } else if (topbox.style.display == 'block' && touchDis < -10) {
          console.log(touchDis);
          $(scroll).stop().animate({ top: '0' }, 'fast');
          setTimeout(() => { topbox.style.display = 'none'; this.$forceUpdate(); }, 100);
          event.preventDefault();
        }
      };
    }
  },
  mounted() {
    document.addEventListener('touchMove', e => {
      e.preventDefault();
    })
    this.homescroll();
  }
}
</script>

<style scoped>

.scroll-box {
  width: 100%;
  position: absolute;
  top: 0;
  background-color: #fff;
}
.loading {
  background: gray;
  width: 100vw;
  height: 40vh;
  display: none;
  overflow: hidden;
  font-size: 40px;
}
.scroll-box {
  background: #ccc;
  height: 60vh;
  color: #fff;
}
</style>

在PC上用鼠标下拉可以弹出负一屏,但是在移动端手指下拉会变为刷新,无法弹出负一屏,解决办法

<!-- 给 body 加样式 overflow:hidden -->
<body style="overflow:hidden">

    <!-- TODO: -->

</body>

实际操作效果如下:

HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码

总结

到此这篇关于HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码的文章就介绍到这了,更多相关html5手指下滑弹出内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
CSS3实现精美横向滚动菜单按钮
Apr 14 HTML / CSS
CSS3 选择器 伪类选择器介绍
Jan 21 HTML / CSS
CSS3线性渐变简单实现以及该属性在浏览器中的不同
Dec 12 HTML / CSS
css3 box-sizing属性使用参考指南
Jan 08 HTML / CSS
css3 实现滚动条美化效果的实例代码
Jan 06 HTML / CSS
HTML5 Canvas图像模糊完美解决办法
Feb 06 HTML / CSS
使用CSS实现弹性视频html5案例实践
Dec 26 HTML / CSS
浅谈html5 video 移动端填坑记
Jan 15 HTML / CSS
HTML5新标签兼容——&gt; 的两种方法
Sep 12 HTML / CSS
详解使用双缓存解决Canvas clearRect引起的闪屏问题
Apr 29 HTML / CSS
钉钉企业内部H5微应用开发详解
May 12 HTML / CSS
通过feDisplacementMap和feImage实现水波特效
Apr 24 HTML / CSS
canvas 基础之图像处理的使用
Apr 10 #HTML / CSS
用canvas显示验证码的实现
Apr 10 #HTML / CSS
HTML5给汉字加拼音收起展开组件的实现代码
Apr 08 #HTML / CSS
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
Apr 08 #HTML / CSS
HTML5 textarea高度自适应的两种方案
Apr 08 #HTML / CSS
html5给汉字加拼音加进度条的实现代码
Apr 07 #HTML / CSS
详解HTML5如何使用可选样式表为网站或应用添加黑暗模式
Apr 07 #HTML / CSS
You might like
php读取文件内容的几种方法详解
2013/06/26 PHP
ThinkPHP简单使用memcache缓存的方法
2016/11/15 PHP
javascript web对话框与弹出窗口
2009/02/22 Javascript
轻松实现JavaScript图片切换
2016/01/12 Javascript
jquery事件绑定解绑机制源码解析
2016/09/19 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
angular4 获取wifi列表中文显示乱码问题的解决
2018/10/20 Javascript
详解js静态检查工具eslint配置文件
2018/11/23 Javascript
js实现网页随机验证码
2020/10/19 Javascript
使用python解析xml成对应的html示例分享
2014/04/02 Python
使用Python3 编写简单信用卡管理程序
2016/12/21 Python
Python单例模式实例详解
2017/03/01 Python
windows下python安装pip图文教程
2018/05/25 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
YUV转为jpg图像的实现
2019/12/09 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
Python如何实现远程方法调用
2020/08/07 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
实习生单位鉴定意见
2013/12/04 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
2014教师年度思想工作总结
2014/11/10 职场文书
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS
JavaScript原型链详解
2021/11/07 Javascript
mysql5.6主从搭建以及不同步问题详解
2021/12/04 MySQL
Nginx配置之禁止指定IP访问
2022/05/02 Servers
Spring中bean集合注入的方法详解
2022/07/07 Java/Android