framework7教程

Framework7 刷新

说明

它是一个特殊的组件,用于通过拉取来刷新(重新加载)页面内容。
以下代码显示了如何刷新页面内容-
<div class = "page">
   <!--Page content should have additional "pull-to-refresh-content" class -->
   <div class = "page-content pull-to-refresh-content" data-ptr-distance = "55">
      <!--default pull to refresh layer-->
      <div class = "pull-to-refresh-layer">
         <div class = "preloader"></div>
      <div class = "pull-to-refresh-arrow"></div>
   </div>
   <!--usual content below-->
   <div class = "list-block">
      ...
   </div>
</div>
刷新中使用以下类-
page-content-它有一个额外的 pull-to-refresh-content 类,并且需要它来启用下拉刷新。 pull-to-refresh-layer-它是一个隐藏层,用于pull to refresh视觉元素,它只是一个预加载器和一个箭头。 data-ptr-distance = "55"-这是附加属性,允许您设置自定义"拉动刷新"触发距离,其默认值为 44 像素。

下拉刷新事件

在"Pull to Refresh"中有一些 JavaScript 事件,如下表所示-
S.No 事件和描述 目标
1
pullstart
每当您开始拉动以刷新内容时都会触发它。
拉动刷新内容。
<div class = "pull-to-refresh-content">
2
pullmove
拉动刷新内容时触发。
拉动刷新内容。
<div class="pull-to-refresh-content">
3
pullend
每当你释放 pull 刷新内容时都会触发。
拉动刷新内容。
<div class="pull-to-refresh-content">
4
refresh
这个事件会在pull to refresh进入 "刷新"状态时触发。
拉动刷新内容。
<div class="pull-to-refresh-content">
5
refreshdone
刷新后触发,回到初始状态。这将在调用 pullToRefreshDone 方法后完成。
拉动刷新内容。
<div class="pull-to-refresh-content">
有一些 App 的方法可以与 Pull to Refresh 一起使用。
S.No 应用的方法和描述
1
myApp.pullToRefreshDone(ptrContent)
用于重置 pull-to-refresh内容。
2
myApp.pullToRefreshTrigger(ptrContent)
用于在指定的 pull to refresh content上触发刷新。
3
myApp.destroyPullToRefresh(ptrContent)
用于 销毁/禁用拉到指定的 拉到刷新刷新内容
4
myApp.initPullToRefresh(ptrContent)
用于 初始化/启用 拉动刷新内容.
其中 ptrContent 用于 HTMLElementstring 以提取刷新内容以重置/触发或禁用/启用。

示例

以下示例演示了使用刷新组件启动页面内容的刷新-
<!DOCTYPE html>
<html>
   <head>
      <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
      <meta name="apple-mobile-web-app-capable" content="yes">
      <meta name="apple-mobile-web-app-status-bar-style" content="black">
      <title>Pull To Refresh</title>
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css">
   </head>
   <div class="views">
      <div class="view view-main">
         <div class="pages">
            <div data-page="home" class="page navbar-fixed">
               <div class="navbar">
                  <div class="navbar-inner">
                     <div class="left"> </div>
                     <div class="center">Pull To Refresh</div>
                     <div class="right"> </div>
                  </div>
               </div>
               <div class="page-content pull-to-refresh-content">
                  <div class="pull-to-refresh-layer">
                     <div class="preloader"></div>
                     <div class="pull-to-refresh-arrow"></div>
                  </div>
                  <div class="list-block media-list">
                     <ul>
                        <li class="item-content">
                           <div class="item-media"><img src="/framework7/images/apple.png" width="44"></div>
                           <div class="item-inner">
                              <div class="item-title-row">
                                 <div class="item-title">apple</div>
                              </div>
                           </div>
                        </li>
                        <li class="item-content">
                           <div class="item-media"><img src="/framework7/images/froots_img.jpg" width="44"></div>
                           <div class="item-inner">
                              <div class="item-title-row">
                                 <div class="item-title">strawberry</div>
                              </div>
                           </div>
                        </li>
                        <li class="item-content">
                           <div class="item-media"><img src="/framework7/images/mango.jpg" width="44"></div>
                           <div class="item-inner">
                              <div class="item-title-row">
                                 <div class="item-title">Mango</div>
                              </div>
                           </div>
                        </li>
                     </ul>
                     <div class="list-block-label">
                        <p>Just pull page down to let the magic happen.</p>
                     </div>
                  </div>
               </div>
            </div>
         </div>
      </div>
   </div>
   <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script>
   <script>
      var myApp = new Framework7();
      var $ = Dom7;
      // Dummy Content
      var fruits = ['mango', 'orange', 'watermelon', 'banana'];
      // Pull to refresh content
      var ptrContent = $('.pull-to-refresh-content');
      // Add 'refresh' listener on it
      ptrContent.on('refresh', function (e) {
         // Emulate 2s loading
         setTimeout(function () {
            var picURL = 'images/Fruit.jpg' + Math.round(Math.random() * 100);
            var fruit = fruits[Math.floor(Math.random() * fruits.length)];
            var itemHTML = '<li class="item-content">' +
               '<div class="item-media"><img src="/framework7/images/Fruit.jpg" width="44"/></div>' +
               '<div class="item-inner">' +
               '<div class="item-title-row">' +
               '<div class="item-title">' + fruit + '</div>' +
                  '</div>' + '</div>' + '</li>';
            // Prepend new list element
            ptrContent.find('ul').prepend(itemHTML);
				
            // When loading done, we need to reset it
            myApp.pullToRefreshDone();
         }, 2000);
      });
   </script>
</html>

输出

让我们执行以下步骤来看看上面给出的代码是如何工作的-
将上述给定的 HTML 代码保存为服务器根文件夹中的 pull_to_refresh.html 文件。 将此 HTML 文件打开为 http://localhost/pull_to_refresh.html,输出如下所示。 当用户下拉时,页面将刷新内容。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4