javascript - 列表
问题描述
li
我里面有几个ul
,我使用这段代码按 data-percentage 属性按升序对它们进行排序
$(function() {
$(".alll li").sort(sort_li).appendTo('.alll');
function sort_li(a, b) {
return ($(b).data('percentage')) > ($(a).data('percentage')) ? 1 : -1;
}
});
但是当我使用从另一个页面$(".dayss").load("days0.php");
加载相同li
但具有不同数据百分比的页面时,因此当我想对其进行排序时,排序但在第一次单击时按升序排列,在第二次单击时按降序排列,第三次再次按升序排列。不知道是什么问题,求大神解答,谢谢
解决方案
load() 与 document.ready 无关,因此您的代码很可能在加载完成之前执行。所以你需要在完成后进行排序。
var sortDirection = 1;
function sortLis () {
function sort_li(a, b) {
return ($(b).data('percentage')) > ($(a).data('percentage')) ? sortDirection : -sortDirection;
}
$(".alll li").sort(sort_li).appendTo('.alll');
}
$(sortLis);
$(".dayss").load("days0.php", function () {
sortDirection = 1;
sortLis();
});
$(document).on("click", ".sortButton", function () {
sortDirection * -1;
sortLis();
})
推荐阅读
- sql - TypeScript Sequelize:如何连接两个具有共同点的表
- java - Highchart 工具提示值的格式应基于区域设置
- python - Pygame 窗口没有关闭
- c# - 绑定到 WPF 组合框中的选定项
- angular - Angular 反应式表单通过按钮点击提交
- go - 密码保护 Go 语言中的 PDF 文件
- java - 这可能是一个愚蠢的问题,但希望得到澄清。我们可以说“超级”作为一个对象而不是java中的关键字吗?
- file-upload - Liferay 文件上传问题
- mongodb - 在 Mongo 集合上运行任意查询有多糟糕
- javascript - 当访问者在剪贴板上复制内容时如何自定义警报