加载的案例

embedded/2024/12/23 5:12:59/
htmledit_views">

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>下滑加载历史</title>
    <style>
      body {
        margin: 0;
        font-family: Arial, sans-serif;
      }

      #loadingContainer {
        display: none; /* 默认隐藏 */
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        background-color: white;
        text-align: center;
        padding: 10px;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        z-index: 1000;
      }

      .spinner {
        display: inline-block;
        border: 4px solid rgba(0, 0, 0, 0.1);
        border-radius: 50%;
        border-top: 4px solid #333;
        width: 20px;
        height: 20px;
        animation: spin 1s linear infinite;
      }

      @keyframes spin {
        0% {
          transform: rotate(0deg);
        }
        100% {
          transform: rotate(360deg);
        }
      }

      .loadingText {
        display: inline-block;
        margin-left: 10px;
      }

      #content {
        text-align: center;
        padding: 20px;
        margin-top: 50px; /* 提供顶部空间 */
        font-size: 18px;
        color: #333;
      }
    </style>
  </head>
  <body>
    <div id="loadingContainer">
      <div class="spinner"></div>
      <div class="loadingText">加载中...</div>
    </div>
    <div id="content">
      ----------------下滑展示聊天记录---------------------
    </div>
    <script>
      var swipeUpTriggered = false;
      var touchStartY = null;
      var loadingContainer = document.getElementById("loadingContainer");

      document.addEventListener("touchstart", function (e) {
        if (window.scrollY === 0) {
          touchStartY = e.touches[0].clientY;
        }
      });

      document.addEventListener("touchmove", function (e) {
        if (touchStartY === null) {
          return;
        }

        var touchMoveY = e.touches[0].clientY;

        if (touchMoveY > touchStartY && !swipeUpTriggered) {
          loadingContainer.style.display = "block"; // 显示加载动画
          swipeUpTriggered = true;
        }
      });

      document.addEventListener("touchend", function (e) {
        if (swipeUpTriggered) {
          handleSwipeUp();
          swipeUpTriggered = false;
        }

        touchStartY = null;
      });

      function handleSwipeUp() {
        // 模拟数据加载过程
        setTimeout(function () {
          loadingContainer.style.display = "none"; // 隐藏加载动画
          // 这里可以添加加载数据的代码
        }, 2000); // 假设加载数据需要2秒
      }
    </script>
  </body>
</html>


http://www.ppmy.cn/embedded/97326.html

相关文章

简易双端视频通信实现

客户端首先建立用户界面&#xff0c;使用Webcam-capture获取摄像头&#xff0c;使用线程将每一帧图片显示在用户界面上实现视频效果&#xff0c;同时使用BufferedImage获取图片数据&#xff0c;使用Socket与服务端连接&#xff0c;并使用DataOutputStream像服务端发送图片数据。…

【数据结构】详细介绍栈和队列,解析栈和队列每一处细节

目录 一. 栈 1. 栈的概念 2. 栈的实现 2.1 栈的结构 2.2 初始化栈 2.3 入栈 2.4 出栈 2.5 获取栈顶元素 2.6 获取栈中有效个数 2.7 判断栈是否为空 2.8 销毁栈 二. 队列 1. 队列的概念 2. 队列的实现 2.1 队列的结构 2.2 队列初始化 2.3 销毁队列 2.4 入…

ChatGPT 3.5/4.0 新手使用手册(详细版)

1. 什么是 ChatGPT&#xff1f; ChatGPT是由 OpenAI 开发的先进人工智能语言模型&#xff0c;能够理解并生成自然语言文本。它可以帮助你进行写作、回答问题、提供建议&#xff0c;甚至参与对话。ChatGPT 3.5 和 4.0 是两个不同版本&#xff0c;它们都拥有强大的语言处理能力&…

Progressive Multi-modal Conditional Prompt Tuning

文章汇总 动机 图像的重复消化有助于提高分类精度。ProMPT不是直接进行预测&#xff0c;而是多次重新访问原始图像以检查答案&#xff0c;逐步将预测从粗糙细化到精确。 希望达到的效果如下&#xff1a; 图7:通过迭代进化&#xff0c;ProMPT逐步将CLIP产生的错误结果纠正为正…

基于Vue的MES生产制造执行系统

TOC springboot307基于Vue的MES生产制造执行系统 第1章 绪论 1.1 选题动因 到现在为止&#xff0c;互联网已经进入了千家万户&#xff0c;最普通的平民百姓也有属于自己的智能设备&#xff0c;计算机各种技术的储备也是相当的丰富&#xff0c;并且实现也是没有难度&#xf…

Postman 问题汇总

1 postman Error: SSL Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE 根因 SSL校验失败&#xff0c;可以在postman设置中关闭ssl校验&#xff0c;自测对ssl无要求。 解决方法 在postman设置中关闭ssl校验&#xff1a;

SpringBoot事件监听机制

观察者设计模式 主题/观察者模式&#xff0c;简称为观察者模式&#xff08;Observer Pattern&#xff09;是一种行为设计模式&#xff0c;也被称为发布/订阅&#xff08;Publisher/Subscriber&#xff09;模式。在该模式中&#xff0c;对象之间存在依赖关系&#xff0c;其中“…

SSLError(SSLError(8, ‘_ssl.c:503: EOF occurred in violation of protocol‘)

报错信息&#xff1a; SSLError: HTTPSConnectionPool(hostx.x.x.x, port8443): Max retries exceeded with url: /rest/v1/xx/yy/zz (Caused by SSLError(SSLError(8, _ssl.c:503: EOF occurred in violation of protocol),)) 直接上解决方案&#xff1a; pip install ndg-htt…