Framework7 - 使用 JavaScript 覆盖可排序列表
说明
您可以使用 JavaScript App 方法启用和禁用可排序,如下所示 −
myApp.sortableOpen(sortableContainer) − 用于在指定的可排序容器上启用排序模式。
myApp.sortableClose(sortableContainer) − 用于在指定的可排序容器上禁用排序模式。
myApp.sortableToggle(sortableContainer) −它用于在指定的可排序容器上切换排序模式。
上述方法接受sortableContainer参数,该参数是可排序容器的可选HTMLElement或string。
示例
以下示例使用 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