Framework7 - 使用 JavaScript 覆盖可排序列表

说明

您可以使用 JavaScript App 方法启用和禁用可排序,如下所示 −

  • myApp.sortableOpen(sortableContainer) − 用于在指定的可排序容器上启用排序模式。

  • myApp.sortableClose(sortableContainer) − 用于在指定的可排序容器上禁用排序模式。

  • myApp.sortableToggle(sortableContainer) −它用于在指定的可排序容器上切换排序模式。

上述方法接受sortableContainer参数,该参数是可排序容器的可选HTMLElementstring

示例

以下示例使用 Framework7 中的 JavaScript 指定 HTML 元素的排序 −

<!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>Sortable using JavaScript</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>

   <body>
      <div class = "views">
         <div class = "view view-main">
         
            <div class = "navbar">
               <div class = "navbar-inner">
                  <div class = "center sliding">Sortable using JavaScript</div>
               </div>
            </div>
            
            <div class = "pages navbar-through">
               <div data-page = "index" class = "page navbar-fixed">
                  <div class = "page-content">
                     <div class = "content-block">
                        <p><a href = "#" class = "open-sortable">Enable sortable</a></p>
                        <p><a href = "#" class = "close-sortable">Disable sortable</a></p>
                        <p><a href = "#" class = "toggle">Toggle sortable</a></p>
                     </div>
                     
                     <div class = "list-block sortable">
                        <ul>
                           <li>
                              <div class = "item-content">
                                 <div class = "item-media"><i class = "icon icon-form-name"></i></div>
                                 
                                 <div class = "item-inner">
                                    <div class = "item-title">Sachin</div>
                                    <div class = "item-after">India</div>
                                 </div>
                                 
                              </div>
                              <div class = "sortable-handler"></div>
                           </li>
                           
                           <li>
                              <div class = "item-content">
                                 <div class = "item-media"><i class = "icon icon-form-name"></i></div>
                                 
                                 <div class = "item-inner">
                                    <div class = "item-title">Smith</div>
                                    <div class = "item-after">Australia</div>
                                 </div>
                                 
                              </div>
                              <div class = "sortable-handler"></div>
                           </li>
                           
                           <li>
                              <div class = "item-content">
                                 <div class = "item-media"><i class = "icon icon-form-name"></i></div>
                                 
                                 <div class = "item-inner">
                                    <div class = "item-title">Morgan</div>
                                    <div class = "item-after">England</div>
                                 </div>
                                 
                              </div>
                              <div class = "sortable-handler"></div>
                           </li>
                           
                           <li>
                              <div class = "item-content">
                                 <div class = "item-media"><i class = "icon icon-form-name"></i></div>
                                 
                                 <div class = "item-inner">
                                    <div class = "item-title">Dhoni</div>
                                    <div class = "item-after">India</div>
                                 </div>
                                 
                              </div>
                              <div class = "sortable-handler"></div>
                           </li>
                           
                           <li>
                              <div class = "item-content">
                                 <div class = "item-media"><i class = "icon icon-form-name"></i></div>
                                 
                                 <div class = "item-inner">
                                    <div class = "item-title">Gayle</div>
                                    <div class = "item-after">West Indies</div>
                                 </div>
                                 
                              </div>
                              <div class = "sortable-handler"></div>
                           </li>
                        </ul>
                     </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();

         // 如果您使用自定义 DOM 库,则将其保存到 $$ 变量
         var $$ = Dom7;

         // 添加视图
         var mainView = myApp.addView('.view-main', {
         
            // 为该视图启用动态导航栏
            dynamicNavbar: true
         });

         $$('.open-sortable').on('click', function () {
            myApp.sortableOpen('.sortable');
         });
         
         $$('.close-sortable').on('click', function () {
            myApp.sortableClose('.sortable');
         });
         
         $$('.toggle').on('click', function () {
            myApp.sortableToggle('.sortable');
         });
      </script>
   </body>

</html>

输出

让我们执行以下步骤来查看上述代码的工作原理 −

  • 将上述 HTML 代码保存为服务器根文件夹中的 enable_disable_sortable_using_javascript.html 文件。

  • 以 http://localhost/enable_disable_sortable_using_javascript.html 的形式打开此 HTML 文件,输出显示如下。

  • 该示例指定启用、禁用和切换链接上 HTML 元素的排序。

framework7_list_views.html