[英]How to achieve a sorted but random list with javascript/jquery
我目前使用此代碼對我的項目列表進行隨機排序,並且效果很好:
$(document).ready(function () {
(function ($) {
$.fn.randomize = function (childElem) {
return this.each(function () {
var $this = $(this);
var elems = $this.children(childElem);
elems.sort(function () {
return (Math.round(Math.random()) - 0.5);
});
$this.remove(childElem);
for (var i = 0; i < elems.length; i++)
$this.append(elems[i]);
});
};
})(jQuery);
(function ($) {
if (window.location.href.indexOf("st=") > -1) {
} else {
$('#itemBlock').randomize('.list_1');
}
})(jQuery);
});
但是,當我想出一種方法來修改此腳本以按一定順序隨機返回結果時,我感到很沮喪。 例如,與之配合使用的列表返回了所有5家商店中所有特定類型商品的清單。 因此,如果有人在尋找圍裙,它將顯示我們5家商店中每家的所有圍裙。
上面的代碼肯定會隨機列出該列表,但我不知道如何考慮商店位置。
因此,現在搜索圍裙將首先從商店A,B,C,D和E返回如下列表:
BCDAEBCDDDCEABBACACABCDAA
但是我們想要實現的是這樣的回報:
ABCDEABCDEABCDEABCDEABCDE
不一定完全按照該順序,而是以某種方式修改函數,以便在加載更多結果之前先加載每個存儲區的結果。 因此,一家商店不會連續出現3家商店,否則一家商店的代表人數會更多。
我可以通過使用過濾器或排序功能來解決此問題嗎? 還是純JavaScript會更有效地處理此問題?
為此,您必須執行以下步驟:
[padded item number]|[store identifier]
例如00001|A
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.