我有一個頁面上有6個ahref框,它們都有不同大小的背景圖像,我想要做的是onload獲取3個隨機框bg圖像文件擴展名,並將它們交換爲gif。所以每次刷新頁面時3張圖片都不一樣。我不完全確定如何做到這一點,因爲我想要的位置是隨機的,但通過更改url和不改變完全隨機圖像的控制。Javascript隨機背景圖像更改onload
回答
去獲取圖片爲了讓您的列表中隨機3個節點,您可以選擇它們,將它們轉換成數組,然後0和nodeList.length之間挑一個由指數:
(function (document) {
var boxes = document.getElementsByClassName('box'),
background = '',
index = 0;
// Convert the nodeList to an Array
boxes = Array.prototype.slice.call(boxes);
// Returns a random integer between min and max
// Using Math.round() will give you a non-uniform distribution!
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
for (var i=0; i<3; i++) {
// Pick a random node
index = getRandomInt(1, boxes.length) - 1;
// Background
background = document.defaultView.getComputedStyle(boxes[index])
.backgroundImage
.replace('.jpg', '.gif');
boxes[index].style.cssText = "background-image:" + background;
// Remove that node so we don't get it again
boxes.splice(index, 1);
}
}(document));
感謝Wil,隨機性是正確的。獲取框的當前背景以及更改擴展名是多麼容易。我可以用類似url(「../ static/images /」+ boxes [index] +「.gif」)的方式來做到這一點 –
我剛剛更新了我的答案,以顯示如何從'.jpg'到'.gif'。然後你可以有一個名爲'mybg.jpg'的bg圖像,它將在一個名爲'mybg.gif'的位置交換一個圖像。 – Wil
感謝威爾:)幾乎在那裏,擴展沒有顯示如此即時得到文件/ mybg沒有.gif –
var randomNum = Math.floor(Math.random() * 6)
這將生成一個0-5之間的隨機數。所以,你可以繼續選擇相應的子
$("ul li:nth-child(randomNum)").css('background-image', 'url(http://url you want.com)')
如果你想隨機圖像也嘗試無論是命名的圖像,這樣就可以使用另一個隨機變量它們附加到url()
- 1. 隨機圖像背景更改PHP CSS
- 2. 隨機更改UIButton背景圖像
- 3. 隨機背景圖像以JavaScript啓動
- 4. 隨機背景圖像CSS3
- 5. 在鼠標上隨機更改背景圖像
- 6. 通過使用隨機數組更改按鈕背景圖像
- 7. 在Android中隨機更改背景圖像
- 8. 在Android中隨機更改背景圖像
- 9. jQuery隨機更改背景圖像到幾個div
- 10. 使用JavaScript更改背景圖像
- 11. jQuery/javascript:背景圖像,滾動更改
- 12. viewflipper應該隨機更改背景
- 13. 隨機更改android佈局背景
- 14. Javascript隨機背景圖片大小
- 15. 更改圖像背景
- 16. jquery更改背景圖像
- 17. onClick更改背景圖像
- 18. DIV上的隨機背景圖像
- 19. UITableviewCell中的隨機背景圖像
- 20. 隨機背景圖像不加載
- 21. 隨機圖像背景上的鏈接
- 22. 分配隨機背景圖像面板
- 23. 刷新時的隨機背景圖像
- 24. 背景圖像丟失隨機
- 25. 隨機移動背景圖像
- 26. 隨機背景圖片背景剪輯
- 27. 如何用JavaScript隨機更改背景顏色?
- 28. 隨機CSS背景圖片
- 29. 隨機背景圖像與捻 - TIED隨機SWF元素?
- 30. 如何在iPhone SDK中隨機更改圖像視圖的背景顏色?
你的問題有點難以閱讀。如果我明白:你有三個盒子都有不同的背景圖像。每次頁面加載時,您想爲每個框選擇一個隨機圖像? – Wil
對不起,我總共有6個盒子,在負載上我想改變其中3個背景圖像。但它必須是每個頁面加載的隨機3盒。 –