// 随机over
// Define the Murmur3Hash function
function MurmurHash3(string) {
let i = 0;
for (i, hash = 1779033703 ^ string.length; i < string.length; i++) {
let bitwise_xor_from_character = hash ^ string.charCodeAt(i);
hash = Math.imul(bitwise_xor_from_character, 3432918353);
hash = hash << 13 | hash >>> 19;
} return () => {
// Return the hash that you can use as a seed
hash = Math.imul(hash ^ (hash >>> 16), 2246822507);
hash = Math.imul(hash ^ (hash >>> 13), 3266489909);
return (hash ^= hash >>> 16) >>> 0;
}
}
function SimpleFastCounter32(seed_1, seed_2, seed_3, seed_4) {
return () => {
seed_1 >>>= 0; seed_2 >>>= 0; seed_3 >>>= 0; seed_4 >>>= 0;
let cast32 = (seed_1 + seed_2) | 0;
seed_1 = seed_2 ^ seed_2 >>> 9;
seed_2 = seed_3 + (seed_3 << 3) | 0;
seed_3 = (seed_3 << 21 | seed_3 >>> 11);
seed_4 = seed_4 + 1 | 0;
cast32 = cast32 + seed_4 | 0;
seed_3 = seed_3 + cast32 | 0;
return (cast32 >>> 0) / 4294967296;
}
}
function randomCover() {
let covers = document.querySelectorAll("img.object-cover");
if (covers.length == 0) {
return;
}
seed = parseInt(new Date().getTime() / 5000);
let generate_seed = MurmurHash3(seed.toString());
let random_number = SimpleFastCounter32(generate_seed(), generate_seed());
// 生成0~50的序列,然后打乱顺序
let arr = Array.from({length: 48}, (v, k) => k+1);
arr.sort(() => random_number() - 0.5);
console.log("arr:", arr);
covers.forEach(function(cover, index) {
cover.src = "/assets/images/cover/" + arr[index] + ".jpg";
});
}