繁体   English   中英

根据数据属性时间戳将div排序为单独的div

[英]Sorted div based on data-attribute timestamp into separate divs

我有一个for循环,将这些div放置在div中,这些div按日期与它们具有的数据时间戳进行排序。

现在,我想将项目包装到div中,这是排序的代码:

var albumSort = function () {
    //All album thumbnails in items
    var album = $(".photo-album");
    var items = $(".js-album-thumbnail");
    //items in Array
    var arr = $.makeArray($(items));

    console.log(album);
    console.log(items);

    //Sorting the album thumbnails array
    arr.sort(function(a, b) {
        //item a < b so the higher the time the higher the position
        return new Date( $(a).attr('data-timestamp') ) < new Date( $(b).attr('data-timestamp') );
    });

    console.log(arr);

    //Appending the Array items to the album
    $(album).append(arr);
};
albumSort();

使用此功能后,它们将在页面上循环显示。 现在我想根据时间将数组中的项目包装到div中,因此如果时间戳为2015/01/01 08:10:15 ,则必须包装为:

<div class="08"></div>

循环的项目,如果时间戳为2015/01/01 12:10:15

<div class="08"></div>
<div class="12"></div>

与所有其他项目在几小时内的相同时间

<div class="js-album-thumbnail" data-original="" data-downloadable="" data-timestamp="2015/11/19 16:32:52" data-thumbnail="" data-share=""><img src=""></div>

我认为类似的方法可能有效:

for (var i=0; i<24; i++){
    $(".js-album-thumbnail").each(function(){
        var element = this;
        if ((new Date(element.attr("data-timestamp"))).getHours() == i){
            $("div."+i).append(element)
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM