Учебники

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.

  • pull-to-refresh-layer — это скрытый слой, который используется для обновления, чтобы обновить визуальный элемент, и это просто предварительный загрузчик и стрелка.

  • data-ptr-distance = «55» — это дополнительный атрибут, который позволяет вам установить произвольное расстояние запуска «pull to refresh», и его значение по умолчанию равно 44px.

page-content — имеет дополнительный класс pull-to-refresh-content и требуется для включения pull-to-refresh.

pull-to-refresh-layer — это скрытый слой, который используется для обновления, чтобы обновить визуальный элемент, и это просто предварительный загрузчик и стрелка.

data-ptr-distance = «55» — это дополнительный атрибут, который позволяет вам установить произвольное расстояние запуска «pull to refresh», и его значение по умолчанию равно 44px.

Потяните, чтобы обновить события

В «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

обновление

Это событие будет запущено, когда запрос на обновление входит в состояние «обновление» .

Потяните, чтобы обновить содержимое.

<div class="pull-to-refresh-content">
5

refreshdone

Он будет запущен после обновления и вернется в исходное состояние. Это будет сделано после вызова метода pullToRefreshDone .

Потяните, чтобы обновить содержимое.

<div class="pull-to-refresh-content">

pullstart

Он будет срабатывать всякий раз, когда вы начинаете тянуть, чтобы обновить контент.

Потяните, чтобы обновить содержимое.

pullmove

Это срабатывает, когда вы тянете, чтобы обновить содержимое.

Потяните, чтобы обновить содержимое.

pullend

Он будет срабатывать всякий раз, когда вы отпускаете команду pull для обновления содержимого.

Потяните, чтобы обновить содержимое.

обновление

Это событие будет запущено, когда запрос на обновление входит в состояние «обновление» .

Потяните, чтобы обновить содержимое.

refreshdone

Он будет запущен после обновления и вернется в исходное состояние. Это будет сделано после вызова метода pullToRefreshDone .

Потяните, чтобы обновить содержимое.

Существуют методы приложения, которые можно использовать с Pull для обновления.

S.No Методы и описание приложения
1

myApp.pullToRefreshDone (ptrContent)

Он используется для сброса содержимого « pull-to-refresh» .

2

myApp.pullToRefreshTrigger (ptrContent)

Он используется для запуска обновления по указанному запросу для обновления содержимого .

3

myApp.destroyPullToRefresh (ptrContent)

Он используется для уничтожения / отключения извлечения для обновления при заданном извлечении для обновления содержимого .

4

myApp.initPullToRefresh (ptrContent)

Он используется для инициализации / включения функции извлечения для обновления содержимого .

myApp.pullToRefreshDone (ptrContent)

Он используется для сброса содержимого « pull-to-refresh» .

myApp.pullToRefreshTrigger (ptrContent)

Он используется для запуска обновления по указанному запросу для обновления содержимого .

myApp.destroyPullToRefresh (ptrContent)

Он используется для уничтожения / отключения извлечения для обновления при заданном извлечении для обновления содержимого .

myApp.initPullToRefresh (ptrContent)

Он используется для инициализации / включения функции извлечения для обновления содержимого .

Где ptrContent используется для HTMLElement или строки для извлечения-обновления содержимого для сброса / запуска или отключения / включения.

пример

В следующем примере демонстрируется использование компонента refresh, который инициирует обновление содержимого страницы.

<!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, и вывод отобразится, как показано ниже.

Когда пользователь отключается, страница обновляется с содержанием.