将背景更改为数组中的最后一个条目

时间:2014-04-23 12:16:45

标签: javascript jquery arrays colors

我正在做一个简单的jQuery代码,其中包含一个文本表单和两个按钮。我的想法是我应该能够在文本形式中输入rgb颜色或颜色,然后按“添加颜色”按钮将其添加到数组中,然后按“更改颜色”按钮将背景颜色更改为我刚补充说。

我的问题是关于绑定到“更改颜色”按钮的功能,如何将其绑定以将其更改为我刚刚添加的颜色?

现在当我使用Math.random()时,它当然会从数组中选择一种随机颜色。我已经尝试过关于数学模块的阅读,但找不到类似Math.latest()的东西(不好的解释,但我想我已经涵盖了我需要的帮助)

$( document ).ready(function() {

    var color = ['green', 'orange', 'yellow'];

    jQuery('#changeBG').click(randomBackground);

    jQuery('#addColor').click(function(){
        color.push($('#addToList').val());
        $('#sampleBoard > tbody:last').append('<tr><td>',$('#addToList').val(),'</td><td><div id="sample" style="border:solid 1px                                         black;width:18px;height:18px;background:'+$('#addToList').val()+'"></div></td></tr>');
    });


    function randomBackground(){
        jQuery('body').css({'background-color': color[Math.floor(Math.random() * color.length)]});
    }

谢谢!

2 个答案:

答案 0 :(得分:0)

最新的数组元素是结尾的#34;因为push()在那里添加了它。你可以通过

获得它
var latestColor = color[color.length - 1];

请记住:指数从零开始,因此长度为l的数组的最后一个元素位于索引l - 1

答案 1 :(得分:0)

var newcolor = color [Math.floor(Math.random()%color.length)]}

使用'%'运算符

这样做会给你随机颜色索引

我希望这会起作用