【问题标题】:TinySort sort by IDsTinySort 按 ID 排序
【发布时间】:2016-04-22 19:23:40
【问题描述】:

这个很傻,但我发现 TinySort(独立分钟)让我感到困惑: 我想在容器 div (#body) 中对 div (.story) 进行排序,所以我使用<button onclick="tinysort('div#body>div,{order:'desc',attr:'id'});">Descending</button>,点击后切换到升序。我的 div 代码是:

<div id="body">
<div id="1" class="story"></div>
<div id="2" class="story"></div>
<div id="3" class="story"></div>
</div>

【问题讨论】:

    标签: javascript html tinysort


    【解决方案1】:

    像这样使用自定义函数:

    HTML

    <button id='toggle' onclick='toggleSort()'>Descending</button>
    

    JavaScript

    function toggleSort() {
        var btn = document.querySelector('#toggle');
        if(btn.classList.toggle('desc')) {
            tinysort('div#body>div', { order: 'desc', attr: 'id' });
            btn.innerHTML = 'Ascending';
        } else {
            tinysort('div#body>div', { order: 'asc', attr: 'id' });
            btn.innerHTML = 'Descending';
        }
    }
    

    做了一个演示jsfiddle

    【讨论】:

    • 那行得通。有什么办法可以制作一个cookie来记住选择吗?
    • 您可以使用 cookie (w3schools.com/js/js_cookies.asp) 或可用的本地存储 (w3schools.com/html/html5_webstorage.asp)。您可以存储一个布尔值,升序为 true,降序为 false,并在每次函数运行时更新它。在页面加载时,您可以读取该值,然后相应地设置排序方法。
    • 我做了“这个”,一团糟,有什么帮助吗? :( jsfiddle.net/1of2mexo 因为我是为 Tumblr 做的,它有很多来自 Tumblr 的其他 cookie,所以我必须找到我的
    • 试试这个jsfiddle.net/5w6dsoba/2 你没有正确读取cookie,它叫做'order',你试图寻找一个叫做'asc'的cookie。你的条件asccookie === 'order=asc' 也有点错误,它应该是asccookie === 'asc' 因为asccookie 只是保存cookie的值。
    猜你喜欢
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多