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

Change background to the last entry in an array

本文关键字:最后一个 数组 背景      更新时间:2023-09-26

我正在做一个简单的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)]});
    }

谢谢!

最新的数组元素是"到底"的一个,因为push()将其添加到了那里。你可以通过获得

var latestColor = color[color.length - 1];

记住:索引是从零开始的,所以长度为l的数组的最后一个元素位于索引l - 1

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

使用"%"操作员

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

我希望这将工作