HTML5手指下滑弹出负1屏阻拦挪动端访问器内嵌往

日期:2020-12-11 类型:科技新闻 

关键词:在线网页制作,建网页,个人简介网页制作,简单网页,建立网页

H5手指下滑弹出负1屏, 阻拦挪动端访问器内嵌往下拉更新作用,实际案例编码以下所示:

<template>
  <div class="outer-scroll">
    <div class="loading top-box">
        默认设置掩藏,负1屏,手指下滑便可弹出显示信息,上滑掩藏
    </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;
      // 留意假如关联触碰时的恶性事件则会在往下拉时从手指的往下拉部位刚开始往下拉 该恶性事件在手指触碰显示屏情况下开启,即便早已有1个手指放在显示屏上也会开启。
      scroll.ontouchstart = function (event) {
        touchStart = 0;
        touchDis = 0;
        // 表明:因为手指头是多一点触碰到显示屏上的大家因此e.originalEvent.targetTouches的
        // 意思是1个手指碰触点结合大家只必须获得第1个点便可以了因此
        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 < ⑴0) {
          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上用电脑鼠标往下拉能够弹出负1屏,可是在挪动端手指往下拉会变成更新,没法弹出负1屏,处理方法

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

    <!-- TODO: -->

</body>

具体实际操作实际效果以下:

总结

到此这篇有关HTML5手指下滑弹出负1屏阻拦挪动端访问器内嵌往下拉更新作用的完成编码的文章内容就详细介绍到这了,更多有关html5手指下滑弹出內容请检索脚本制作之家之前的文章内容或再次访问下面的有关文章内容,期待大伙儿之后多多适用脚本制作之家!