濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > HTML5手指下滑彈出負(fù)一屏阻止移動(dòng)端瀏覽器內(nèi)置下拉刷新功能的實(shí)現(xiàn)代碼

HTML5手指下滑彈出負(fù)一屏阻止移動(dòng)端瀏覽器內(nèi)置下拉刷新功能的實(shí)現(xiàn)代碼

熱門標(biāo)簽:南昌仁和怎么申請(qǐng)開通400電話 電話機(jī)器人黑斑馬免費(fèi) 如何獲取地圖標(biāo)注客戶 電話機(jī)器人電銷系統(tǒng)掙話費(fèi) 平?jīng)龅貓D標(biāo)注位置怎么弄 機(jī)器人外呼系統(tǒng)存在哪些能力 只辦理400電話 拓展地圖標(biāo)注 高德地圖標(biāo)注地點(diǎn)糾錯(cuò)

H5手指下滑彈出負(fù)一屏, 阻止移動(dòng)端瀏覽器內(nèi)置下拉刷新功能,具體實(shí)例代碼如下所示:

<template>
  <div class="outer-scroll">
    <div class="loading top-box">
        默認(rèn)隱藏,負(fù)一屏,手指下滑即可彈出顯示,上滑隱藏
    </div>

    <div class="scroll-box">
        <h1>正式內(nèi)容</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;
      // 注意如果綁定觸摸時(shí)的事件則會(huì)在下拉時(shí)從手指的下拉位置開始下拉 該事件在手指觸摸屏幕時(shí)候觸發(fā),即使已經(jīng)有一個(gè)手指放在屏幕上也會(huì)觸發(fā)。
      scroll.ontouchstart = function (event) {
        touchStart = 0;
        touchDis = 0;
        // 說明:由于手指頭是多點(diǎn)觸摸到屏幕上的我們所以e.originalEvent.targetTouches的
        // 意思是一個(gè)手指觸碰點(diǎn)集合我們只需要獲取第一個(gè)點(diǎn)就可以了所以
        touchStart = event.targetTouches[0].pageY;
        console.log(touchStart);
      };
      // 當(dāng)手指在屏幕上滑動(dòng)的時(shí)候連續(xù)地觸發(fā)。在這個(gè)事件發(fā)生期間,調(diào)用preventDefault()事件可以阻止?jié)L動(dòng)。
      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上用鼠標(biāo)下拉可以彈出負(fù)一屏,但是在移動(dòng)端手指下拉會(huì)變?yōu)樗⑿?,無法彈出負(fù)一屏,解決辦法

<!-- 給 body 加樣式 overflow:hidden -->
<body style="overflow:hidden">

    <!-- TODO: -->

</body>

實(shí)際操作效果如下:

總結(jié)

到此這篇關(guān)于HTML5手指下滑彈出負(fù)一屏阻止移動(dòng)端瀏覽器內(nèi)置下拉刷新功能的實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)html5手指下滑彈出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

標(biāo)簽:遼源 西藏 棗莊 漯河 永州 新疆 池州 青島

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5手指下滑彈出負(fù)一屏阻止移動(dòng)端瀏覽器內(nèi)置下拉刷新功能的實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  HTML5,手指,下滑,彈出,負(fù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5手指下滑彈出負(fù)一屏阻止移動(dòng)端瀏覽器內(nèi)置下拉刷新功能的實(shí)現(xiàn)代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTML5手指下滑彈出負(fù)一屏阻止移動(dòng)端瀏覽器內(nèi)置下拉刷新功能的實(shí)現(xiàn)代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    石林| 阜宁县| 临高县| 余庆县| 美姑县| 随州市| 平塘县| 洛隆县| 宜宾县| 大城县| 当涂县| 称多县| 罗田县| 东丽区| 大竹县| 乐东| 张掖市| 尼玛县| 华阴市| 广德县| 溧水县| 昌邑市| 获嘉县| 永胜县| 苍溪县| 沙田区| 武义县| 英吉沙县| 佛坪县| 阿城市| 安福县| 阳朔县| 张家界市| 德兴市| 大城县| 屏山县| 琼中| 金堂县| 永顺县| 舒兰市| 申扎县|