【问题标题】:Connect color picker (jquery UI slider) to Sketch.js将颜色选择器(jquery UI 滑块)连接到 Sketch.js
【发布时间】:2013-06-13 04:05:13
【问题描述】:

我一起制作了一个颜色选择器,我计划用它来控制Sketch.js 绘制草图时的颜色选择。根据 Sketch.js 文档,“标记”工具将从任何包含“数据颜色”字段的标签中获取颜色信息,并指向画布 ID,例如:

<a href="#myCanvas" data-color=""></a>

我的颜色滑块,找到 here,现在正在将 hsl/rgb 数据发送到小提琴示例中滑块下方的框。我想完全删除该框,只需将滑块的值发送到标记工具的值即可。我在检查测试页面上的元素时看到 jquery-ui.js 控制包含滑块的元素的创建,在 jquery-ui.js 的第 12691 行是以下函数:

    _createHandles: function() {
    var i, handleCount,
        options = this.options,
        existingHandles = this.element.find( ".ui-slider-handle" ).addClass( "ui-state-default ui-corner-all" ),
        handle = "<a id='slider-handle' class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",
        handles = [];

所以我尝试将我的画布 id 和 data-color 字段添加到此,以便:

handle = "<a href='#myCanvas' data-color='' id='slider-handle' class='ui-slider-handle ui-state-default ui-corner-all'></a>"

然后我在控制台中亲眼观察了输出,滑块采用了该值,但由于某种原因,在绘制时,标记工具没有改变颜色。它仅在单击框时随框改变颜色。我知道我在这里遗漏了一些简单的东西,对于摆脱盒子的任何帮助表示赞赏。

编辑: 也许 Sketch.js 将只接受十六进制值作为输入,尝试将 hsl/rgb 转换为十六进制并查看是否有效。 编辑2: 情况并非如此,我尝试在控制台中将点击框的值实时更改为 hsl 值,然后 Sketch.js 绘制了该颜色。

【问题讨论】:

    标签: javascript jquery html jquery-ui canvas


    【解决方案1】:

    似乎 Sketch.js 需要十六进制值作为输入。在使用元素的背景颜色作为现在的十六进制值后,我可以想出一个解决方案。

    See fiddle

    JS代码

    slide: function (event, ui) {
            //console.log('/'+hsl(ui.value, 100%, 50%));
            //$('#box').attr('data-color', 'hsl(' + ui.value + ', 100%, 50%)');
            box.style.background = 'hsl(' + ui.value + ', 100%, 50%)';
            var clr = $('#box').css('background-color');
            $('#box').attr('data-color', clr).trigger('click');
        }
    

    由于sketch.js 已将click 绑定到code 中的toollinks,因此我必须触发该框的点击。

    $('body').delegate "a[href=\"##{@canvas.attr('id')}\"]", 'click', (e)->
    

    【讨论】:

    • 啊!那是天才@anpsmn,我想知道为什么十六进制的东西对我不起作用-谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-06-12
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    相关资源
    最近更新 更多