簡體   English   中英

如何為鏈接分配隨機顏色?

[英]How do I assign a random colour to links?

只是想知道為什么我的代碼無法正常工作。 我這樣做是完全錯誤的嗎?

window.onload = function random() {
    var links = document.getElementsByTagName('a');
    var colours = new Array("green","red","blue");
    var randomColour = colours[Math.floor(colours.length * Math.random())];
    for (a = 0; a < links.length; a++) {
        links[a].style.color = 'randomColour';
    }
}

'randomColor' -> randomColor
使用變量而不是帶引號的字符串。 另外,為確保每個鏈接獲得隨機顏色,請在循環中生成顏色:

for (var a = 0; a < links.length; a++) {
    var randomColour = colours[Math.floor(colours.length * Math.random())];
    links[a].style.color = randomColour;
}

為了最大程度地減少設置顏色和解析鏈接之間的延遲,請綁定DOMContentLoaded事件,或者將代碼粘貼到<body>的末尾:

http://jsfiddle.net/V6Chb/1/

<a>Test</a>
  ... 
<a>Test</a>
<script>
(function() { // <-- Anonymous function to not leak variables to the global scope
    var links = document.getElementsByTagName('a');
    var colours = ["green", "red", "blue"];
    for (var a = 0; a < links.length; a++) {
        var randomColour = colours[Math.floor(colours.length * Math.random())];
        links[a].style.color = randomColour;
    }
})();  

暫無
暫無

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

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