整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          vue 上下拉刷新組件

          下拉刷新組件是一種常用的交互方式,它可以讓用戶通過上拉或下拉頁面來刷新內容,提高用戶體驗。下面是一個簡單的上下拉刷新組件的實現思路。


          首先,我們需要監聽用戶的上拉和下拉操作。可以通過監聽滾動事件來實現。當用戶滾動到頁面頂部時,表示用戶想要下拉刷新,此時可以觸發下拉刷新的動作。當用戶滾動到頁面底部時,表示用戶想要上拉加載更多內容,此時可以觸發上拉加載的動作。


          在下拉刷新的動作中,一般會有一個下拉刷新的動畫效果,用來提示用戶正在加載數據。可以使用CSS動畫或者JS動畫來實現。當數據加載完成后,需要更新頁面的內容,并且隱藏下拉刷新的動畫效果。


          在上拉加載的動作中,一般會有一個上拉加載的動畫效果,用來提示用戶正在加載更多數據。同樣,可以使用CSS動畫或者JS動畫來實現。當數據加載完成后,需要將新加載的數據追加到頁面的末尾,并且隱藏上拉加載的動畫效果。


          下面是一個簡單的實現示例:


          ```html

          <!DOCTYPE html>

          <html>

          <head>

          <meta charset="UTF-8">

          <title>上下拉刷新組件</title>

          <style>

          /* 下拉刷新和上拉加載的動畫效果樣式 */

          .loading {

          text-align: center;

          padding: 10px;

          font-size: 14px;

          color: #999;

          }

          .loading .icon {

          display: inline-block;

          width: 16px;

          height: 16px;

          margin-right: 5px;

          background: url(loading.gif) no-repeat center center;

          background-size: 16px 16px;

          vertical-align: middle;

          animation: rotate 1s infinite linear;

          }

          @keyframes rotate {

          0% { transform: rotate(0deg); }

          100% { transform: rotate(360deg); }

          }

          </style>

          </head>

          <body>

          <div id="content">

          <!-- 頁面內容 -->

          </div>

          <script>

          // 獲取頁面元素

          var content = document.getElementById('content');

          // 監聽滾動事件

          window.addEventListener('scroll', function() {

          // 獲取頁面的滾動高度

          var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;

          // 獲取頁面的可視高度

          var clientHeight = document.documentElement.clientHeight || document.body.clientHeight;

          // 獲取頁面的總高度

          var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight;

          // 判斷是否到達頁面頂部

          if (scrollTop === 0) {

          // 觸發下拉刷新的動作

          refresh();

          }

          // 判斷是否到達頁面底部

          if (scrollTop + clientHeight === scrollHeight) {

          // 觸發上拉加載的動作

          loadMore();

          }

          });

          // 下拉刷新的動作

          function refresh() {

          // 顯示下拉刷新的動畫效果

          var loading = document.createElement('div');

          loading.className = 'loading';

          loading.innerHTML = '<span class="icon"></span>正在刷新...';

          content.insertBefore(loading, content.firstChild);

          // 模擬加載數據

          setTimeout(function() {

          // 更新頁面的內容

          content.innerHTML = '刷新后的內容';

          // 隱藏下拉刷新的動畫效果

          content.removeChild(loading);

          }, 2000);

          }

          // 上拉加載的動作

          function loadMore() {

          // 顯示上拉加載的動畫效果

          var loading = document.createElement('div');

          loading.className = 'loading';

          loading.innerHTML = '<span class="icon"></span>正在加載更多...';

          content.appendChild(loading);

          // 模擬加載更多數據

          setTimeout(function() {

          // 追加新加載的數據到頁面的末尾

          content.innerHTML += '加載更多的內容';

          // 隱藏上拉加載的動畫效果

          content.removeChild(loading);

          }, 2000);

          }

          </script>

          </body>

          </html>

          ```


          在上面的示例中,我們通過監聽滾動事件來實現上下拉刷新的功能。當用戶滾動到頁面頂部時,會觸發下拉刷新的動作,即調用refresh()函數。在refresh()函數中,我們使用了一個loading的div元素來顯示下拉刷新的動畫效果,然后在模擬加載數據的過程中,更新頁面的內容,并且隱藏下拉刷新的動畫效果。


          當用戶滾動到頁面底部時,會觸發上拉加載的動作,即調用loadMore()函數。在loadMore()函數中,同樣使用了一個loading的div元素來顯示上拉加載的動畫效果,然后在模擬加載更多數據的過程中,將新加載的數據追加到頁面的末尾,并且隱藏上拉加載的動畫效果。


          在實際開發中,我們可以根據具體的需求來實現上下拉刷新的效果,包括動畫效果、數據加載方式等。上面的示例只是一個簡單的實現思路,具體的實現方式可以根據項目的需求來進行調整和優化。

          . 將徹底屏蔽鼠標右鍵

          <table border oncontextmenu=return(false)><td>no</table> 可用于Table

          2. <body> 取消選取、防止復制

          3. 不準粘貼

          4. 防止復制

          5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址欄前換成自己的圖標

          6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夾中顯示出你的圖標

          7. <input style="ime-mode:-Disabled"> 關閉輸入法

          8. 永遠都會帶著框架

          <script language="javascript"><!--

          if (window == top)top.location.href = "frames.htm"; //frames.htm為框架網頁

          // --></script>

          9. 防止被人frame

          <SCRIPT LANGUAGE=javascript><!--

          if (top.location != self.location)top.location=self.location;

          // --></SCRIPT>

          10. 網頁將不能被另存為

          <noscript><iframe src=*.html></iframe></noscript>

          11. <input type=button value=查看網頁源代碼

          onclick="window.location = `view-source:`+ http://www.51js.com/`";>

          12.刪除時確認

          <a href=`javascript:if(confirm("確實要刪除嗎?"location="boos.asp?&areyou=刪除&page=1"`>刪

          除</a>

          13. 取得控件的絕對位置

          //javascript

          <script language="javascript">

          function getIE(E){

          var t=e.offsetTop;

          var l=e.offsetLeft;

          while(e=e.offsetParent){

          t+=e.offsetTop;

          l+=e.offsetLeft;

          }

          alert("top="+t+"/nleft="+l);

          }

          </script>

          //VBScript

          <script language="VBScript"><!--

          function getIE()

          dim t,l,a,b

          set a=document.all.img1

          t=document.all.img1.offsetTop

          l=document.all.img1.offsetLeft

          while a.tagName<>"BODY"

          set a = a.offsetParent

          t=t+a.offsetTop

          l=l+a.offsetLeft

          wend

          msgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"

          end function

          --></script>

          14. 光標是停在文本框文字的最后

          <script language="javascript">

          function cc()

          {

          var e = event.srcElement;

          var r =e.createTextRange();

          r.moveStart(`character`,e.value.length);

          r.collapse(true);

          r.select();

          }

          </script>

          <input type=text name=text1 value="123">

          15. 判斷上一頁的來源

          javascript:

          document.referrer

          16. 最小化、最大化、關閉窗口

          <object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">

          <param name="Command" value="Minimize"></object>

          <object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">

          <param name="Command" value="Maximize"></object>

          <OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">

          <PARAM NAME="Command" value="Close"></OBJECT>

          <input type=button value=最小化 onclick=hh1.Click()>

          <input type=button value=最大化 onclick=hh2.Click()>

          <input type=button value=關閉 onclick=hh3.Click()>

          本例適用于IE

          17.屏蔽功能鍵Shift,Alt,Ctrl

          <script>

          function look(){

          if(event.shiftKey)

          alert("禁止按Shift鍵!"; //可以換成ALT CTRL

          }

          document.onkeydown=look;

          </script>

          18. 網頁不會被緩存

          <META HTTP-EQUIV="pragma" CONTENT="no-cache">

          <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">

          <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">

          或者<META HTTP-EQUIV="expires" CONTENT="0">

          19.怎樣讓表單沒有凹凸感?

          <input type=text style="border:1 solid #000000">

          <input type=text style="border-left:none; border-right:none; border-top:none; border-bottom:

          1 solid #000000"></textarea>

          20.<div><span>&<layer>的區別?

          <div>(division)用來定義大段的頁面元素,會產生轉行

          <span>用來定義同一行內的元素,跟<div>的唯一區別是不產生轉行

          <layer>是ns的標記,ie不支持,相當于<div>

          21.讓彈出窗口總是在最上面:

          <body>

          22.不要滾動條?

          讓豎條沒有:

          <body style=`overflow:-Scroll;overflow-y:hidden`>

          </body>

          讓橫條沒有:

          <body style=`overflow:-Scroll;overflow-x:hidden`>

          </body>

          兩個都去掉?更簡單了

          <body scroll="no">

          </body>

          23.怎樣去掉圖片鏈接點擊后,圖片周圍的虛線?

          <a href="#"><img src="logo.jpg" border=0></a>

          24.電子郵件處理提交表單

          <form name="form1" method="post" action="mailto:****@***.com" enctype="text/plain">

          <input type=submit>

          </form>

          25.在打開的子窗口刷新父窗口的代碼里如何寫?

          window.opener.location.reload()

          26.如何設定打開頁面的大小

          <body>

          打開頁面的位置<body>

          27.在頁面中如何加入不是滿鋪的背景圖片,拉動頁面時背景圖不動

          <style>

          body

          {background-image:url(logo.gif); background-repeat:no-repeat;

          background-position:center;background-attachment: fixed}

          </style>

          內容首發于工粽號:程序員大澈,每日分享一段優質代碼片段,歡迎關注和投稿!

          大家好,我是大澈!

          本文約 700+ 字,整篇閱讀約需 1 分鐘。

          今天分享一段優質 JS 代碼片段,實現在關閉或刷新瀏覽器窗口時做提示。

          老規矩,先閱讀代碼片段并思考,再看代碼解析再思考,最后評論區留下你的見解!

          window.addEventListener('beforeunload', function (event) {
              const confirmationMessage = "確定要離開此頁面嗎?您所做的更改可能不會被保存。";
           
              event.preventDefault();
              event.returnValue = confirmationMessage; 
          
              return confirmationMessage;
          });


          分享原因

          這段代碼展示了如何使用 JavaScript 的 beforeunload 事件來提示用戶在關閉或刷新瀏覽器窗口時確認操作,從而避免意外的數據丟失或操作中斷。

          這種方法適用于 未保存的數據(如填寫表單或編輯文檔)、長時間操作(如文件上傳或大規模數據處理)、敏感操作(如在線交易或重要系統設置)等場景。

          項目中用到時直接CV,但對于用戶體驗而言,不宜過度使用。

          代碼解析

          1. window.addEventListener('beforeunload', function (event) { ... })

          為 window 對象添加一個 beforeunload 事件監聽器。

          當用戶試圖關閉或刷新瀏覽器窗口時,此事件將被觸發。

          2. event.preventDefault();

          調用 event.preventDefault() 方法來阻止默認的瀏覽器行為。

          在大多數情況下,這一步是冗余的,因為 beforeunload 事件默認不會執行任何動作,但這可以確保兼容性。

          3. event.returnValue = confirmationMessage;

          設置 event.returnValue 為 confirmationMessage 提示信息。

          這是確保在大多數現代瀏覽器中顯示確認對話框的關鍵步驟。

          4. return confirmationMessage;

          返回 confirmationMessage 提示信息。

          在一些舊版瀏覽器中,這一步是必要的,以確保顯示提示信息。


          主站蜘蛛池模板: 无码欧精品亚洲日韩一区| 韩国资源视频一区二区三区| 国产一区二区三区日韩精品| 国产精品亚洲一区二区无码| 国产精品高清视亚洲一区二区| 久久精品黄AA片一区二区三区 | 亚洲日本久久一区二区va| 亚洲欧美国产国产综合一区| 在线电影一区二区| 风间由美性色一区二区三区 | 日韩在线一区高清在线| 国产电影一区二区| 国产视频一区在线观看| 国产成人无码精品一区在线观看| 亚洲人成网站18禁止一区| 亚洲第一区精品观看| 亚洲Av永久无码精品一区二区 | 日韩av无码一区二区三区| 一区二区三区91| 日韩成人无码一区二区三区| 麻豆一区二区99久久久久| 美女一区二区三区| 久久精品国产免费一区| 无码人妻精品一区二区蜜桃AV| 国产AV天堂无码一区二区三区| 日韩好片一区二区在线看| 亚洲一区影音先锋色资源| 无码国产精品一区二区免费vr| 国产成人精品视频一区二区不卡| 国产亚洲一区二区三区在线观看| 国产精品无圣光一区二区| 日韩精品中文字幕无码一区 | 色一乱一伦一图一区二区精品| 久久国产一区二区| 亚洲一区二区三区亚瑟| 色系一区二区三区四区五区| 日本高清不卡一区| 国产亚洲福利精品一区| 久久久无码精品国产一区| 亚洲丰满熟女一区二区v| 欧美成人aaa片一区国产精品|