JQuery:如何动态更改颜色?

时间:2017-05-08 03:14:21

标签: javascript jquery

我正在使用jumble.js来混淆文本的颜色,但却难以动态设置用户输入的颜色。

用户使用spectrum.js调色板选择颜色。我能够从rbg(xxx,xx,xx)剥离rbg;到xxx,xx,xx。但无法将其传递给混乱的调用方法。

这是我的代码。

 $(document).on('click', '#cypher-branding-jumble-text', function () {
            var colour1 = $("#cypher-branding-jumble-colour1").spectrum("get");
            var colour2 = $("#cypher-branding-jumble-colour2").spectrum("get");

            colour1 = colour1.toRgbString();
            colour1 = colour1.replace('rgb(', '');
            colour1 = colour1.replace(')', '');
            colour1 = colour1.replace(' ', '');

            colour2 = colour2.toRgbString();
            colour2 = colour2.replace('rgb(', '');
            colour2 = colour2.replace(')', '');
            colour2 = colour2.replace(' ', '');

            var colour_1 = [colour1];
            var colour_2 = [colour2];            

            $('#cypher-branding-main-edit-right-txt-text').jumble(colour_1,colour_2,true,false); 
        });

Jumble插件> https://github.com/vonKristoff/jumble

2 个答案:

答案 0 :(得分:1)

此行必须更改为color_1 = a.split(“,”),因此它将真正拆分为三个值并创建数组。对于color_2也是如此。

答案 1 :(得分:0)

Nagappan的评论很好地解决了我的问题。

意在分裂字符串。修改后的代码如下。

$(document).on('click', '#cypher-branding-jumble-text', function () {
            var colour1 = $("#cypher-branding-jumble-colour1").spectrum("get");
            var colour2 = $("#cypher-branding-jumble-colour2").spectrum("get");

            colour1 = colour1.toRgbString();
            colour1 = colour1.replace('rgb(', '');
            colour1 = colour1.replace(')', '');
            colour1 = colour1.replace(' ', '');

            colour2 = colour2.toRgbString();
            colour2 = colour2.replace('rgb(', '');
            colour2 = colour2.replace(')', '');
            colour2 = colour2.replace(' ', '');

            //modified lines using split
            var colour_1 = colour1.split(",");
            var colour_2 = colour2.split(",");

            $('#cypher-branding-main-edit-right-txt-text').jumble(colour_1,colour_2,true,false); 
        });