javascript - 自定义 jQuery 渐变颜色选择器 - 使其成为 'user-friendly'

标签 javascript jquery html css color-picker

所以,我做了 a very simple custom jQuery gradient color picker ,用户可以将某些 HTML 元素的颜色更改为他们想要的任何渐变。然而,问题是没有多少人知道如何创建渐变。每次都这样做会很麻烦。比如,说:

#id {
background: linear-gradient(to right, blue, red);
}

对于那个,用户每次都必须输入它才能在左 -> 右方向上实现蓝色 -> 红色的渐变。因此,我试图创建 a script这一切都简化了。但是,如您所见,它实际上不起作用。

基本上,我创建了 3 个输入框:一个用于渐变运动(例如,向右、向左等),一个用于开始渐变颜色,一个用于结束渐变颜色。用户将填写这些值,我将使用 .val() 获取所有这些值,然后创建一个包含此值的最终变量:

'linear-gradient(to gradientMotionVariable, beginningGradientColor, endingGradientColor)'

最后,将 div 的背景属性更改为该变量。我尝试为此搜索 Google 和 SO,但找不到任何东西。任何帮助将不胜感激。

最佳答案

$(document).ready(function () {
    $('#sgCp').click(function () {
        var gM = $('#cGp-motion').val();
        var bC = $('#cGp-bC').val();
        var eC = $('#cGp-eC').val();
        var FGC = 'linear-gradient(to ' + gM + ', ' + bC + ', ' + eC + ')';
        $('#cPr').css('background', FGC);
    });
});

您的代码存在的问题是,您向 css 传递的值实际上并未使用变量值,而是传入了变量名。

看看你的:

var FGC = 'linear-gradient(to gM, bC, eC)';

与我的相比:

var FGC = 'linear-gradient(to ' + gM + ', ' + bC + ', ' + eC + ')';

关于javascript - 自定义 jQuery 渐变颜色选择器 - 使其成为 'user-friendly',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31262715/

相关文章:

javascript - 如何在 "numbers"输入字段中设置分钟,它应该只接受0到59的值

html - 如何使页面上的所有元素变宽

jquery - 使用飞行效果将一个 Div 飞到另一个 div

javascript - 使数据表中的行可点击

javascript - 在 Ember.js 中将一个模板加载到另一个模板中

javascript - 可以从 Controller 更新工厂,但不能从指令更新工厂

javascript - 如何在两个表格单元格之间拉伸(stretch)一个 div?

jquery - 如何在页面加载时加载第二个动态下拉列表?

javascript - 仅执行一定时间的点击而不累积事件

javascript - Angular2订阅了解箭头功能