簡體   English   中英

如何每天而不是每次刷新頁面時隨機化背景圖像

[英]How can i randomize background image on daily basis rather than everytime you refresh the page

<script type="text/javascript"> $(function () { var images = [ "d1.png", "d2.png", "d3.png", "d4.png", "d5.png", "d6.png", "d7.png", "d8.png", "d9.png", "d10.png", ]; $("#bridge").css({ "background-image": "url(images/slider/" + images[Math.floor(Math.random() * images.length)] + ")", }); }); </script>

試試這個。

const DAY = (24 * 60 * 60 * 1000);
var images = ['d1.png', 'd2.png', 'd3.png', 'd4.png','d5.png', 'd6.png', 'd7.png','d8.png', 'd9.png', 'd10.png'];
let currentDay = Math.floor(Date.now() / DAY);
let saved = localStorage.getItem('random_image');
if (saved) saved = JSON.parse(saved);
if (!saved || saved.day != currentDay) {
  saved = {
    day: currentDay,
    index: Math.floor(Math.random() * images.length),
  };
  localStorage.setItem('random_image', JSON.stringify(saved))
}
let image = images[saved.index];
console.log(image);

它使用 LocalStorage 來記住最后一個隨機生成的圖像是什么。 如果這一天不同,它將生成一個新的。

Here is how the code looks like after adding the one above:  

<script type="text/javascript">
   $(function() {
const DAY = (24 * 60 * 60 * 1000);
var images = ['d1.png', 'd2.png', 'd3.png', 'd4.png','d5.png', 'd6.png', 'd7.png','d8.png', 'd9.png', 'd10.png'];
let currentDay = Math.floor(Date.now() / DAY);
let saved = localStorage.getItem('random_image');
if (saved) saved = JSON.parse(saved);
if (!saved || saved.day != currentDay) {
  saved = {
    day: currentDay,
    index: Math.floor(Math.random() * images.length),
  };
  localStorage.setItem('random_image', JSON.stringify(saved))
}
let image = images[saved.index];
console.log(image);

    $('#bridge').css({'background-image': 'url(images/slider/' + images[Math.floor(Math.random() * images.length)] + ')'});
        }); 
  </script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM