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 transform 属性来变换背景图的方法
May 07 HTML / CSS
基础的CSS3弹性盒Flexbox布局使用实例
Apr 08 HTML / CSS
CSS3实现头像旋转效果
Mar 13 HTML / CSS
详解HTML5表单新增属性
Dec 21 HTML / CSS
HTML5 MiranaVideo播放器 (代码开源)
Jun 11 HTML / CSS
html5如何及时更新缓存文件(js、css或图片)
Jun 24 HTML / CSS
详解HTML5中的元素与元素
Aug 17 HTML / CSS
整理HTML5中表单的常用属性及新属性
Feb 19 HTML / CSS
Web前端页面跳转并取到值
Apr 24 HTML / CSS
canvas之自定义头像功能实现代码示例
Sep 29 HTML / CSS
html5用video标签流式加载的实现
May 20 HTML / CSS
HTML5适合的情人节礼物有纪念日期功能
Jan 25 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异常处理方法实例汇总
2015/06/24 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
php实现websocket实时消息推送
2018/03/30 PHP
php 策略模式原理与应用深入理解
2019/09/25 PHP
jQuery 动画基础教程
2008/12/25 Javascript
Safari5中alert的无限循环BUG
2011/04/07 Javascript
JS 进度条效果实现代码整理
2011/05/21 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
javascript使用递归算法求两个数字组合功能示例
2017/01/03 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
2017/09/21 jQuery
JavaScript编程设计模式之构造器模式实例分析
2017/10/25 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
Python 使用SMTP发送邮件的代码小结
2016/09/21 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
在Python web中实现验证码图片代码分享
2017/11/09 Python
Django中的静态文件管理过程解析
2019/08/01 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
爱尔兰电子产品购物网站:Komplett.ie
2018/04/04 全球购物
出国留学自荐信
2013/10/25 职场文书
前台文员岗位职责及工作流程
2013/11/19 职场文书
QA工程师岗位职责
2013/11/20 职场文书
校庆筹备方案
2014/03/30 职场文书
贷款承诺书范文
2014/05/19 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
运动会表扬稿
2015/01/16 职场文书
奖学金个人总结
2015/03/04 职场文书
辞职离别感言
2015/08/04 职场文书
导游词之山西关帝庙
2019/11/01 职场文书
浅析Python中的随机采样和概率分布
2021/12/06 Python