簡體   English   中英

通過JavaScript填充HTML選擇“顏色”

[英]Fill Html Selection “Color” by JavaScript

我想通過Script填充我的顏色選擇。 當我要填充顏色菜單時,請使用以下代碼:

    function FillFontColorMenu() {
        FillSelection(GetPossibleColors(), "fontColorMenu"); // Color of the Font
    }

    function FillBackgroundColorMenu() {
        FillSelection(GetPossibleColors(), "backgroundColorMenu"); // Background Color
    }

    function GetPossibleColors() { // Create an Array of Colors
        var possibleColors = [];

        possibleColors.push(0x333333);  // Add Color x
        possibleColors.push(0x666666);
        possibleColors.push(0x999999);

        return possibleColors; // Return the Colors
    }

    function FillSelection(possibleValues, elementId) { // Fill the Selection with the Colors
        for(var i = 0; i < possibleValues.length; i++) {
            var optionElement = "<option value='" + possibleValues[i] + "'>" + possibleValues[i] + "</option>"; // Pass in the Colors
            $('#'+elementId).append(optionElement);
        }
    }

如何將顏色存儲到Array 是否必須將值存儲為RGB代碼? 我可以使用此顏色Array並在“ FillingMethod”中傳遞顏色嗎? 有沒有辦法做到這一點,還是我的想法胡扯,永遠都行不通?

我試圖創建一個顯示我的問題的JsFiddle: Fiddle

您將顏色作為十六進制數字存儲在Array中, JavaScript將所有數字視為雙精度浮點數 option中將顏色作為文本插入時,需要將數字轉換為String 我建議您使用Number對象的toString方法,將16作為基數發送以獲取數字的十六進制表示形式:

 FillFontColorMenu(); FillBackgroundColorMenu(); function FillFontColorMenu () { FillSelection(GetPossibleColors(), "fontColorMenu"); } function FillBackgroundColorMenu () { FillSelection(GetPossibleColors(), "backgroundColorMenu"); } function GetPossibleColors () { var possibleColors = []; possibleColors.push(0x333333); // TEST possibleColors.push(0x666666); // TEST possibleColors.push(0x999999); // TEST return possibleColors; } function FillSelection (possibleValues, elementId) { for(var i = 0; i < possibleValues.length; i++) { var optionElement = "<option value='" + possibleValues[i] + "'>#" + possibleValues[i].toString(16) + "</option>"; $('#'+elementId).append(optionElement); } } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select id="fontColorMenu"></select> <select id="backgroundColorMenu"></select> 

暫無
暫無

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

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