Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使颜色选择器粘贴/捕捉到特定值_Javascript_Css_Vue.js - Fatal编程技术网

Javascript 如何使颜色选择器粘贴/捕捉到特定值

Javascript 如何使颜色选择器粘贴/捕捉到特定值,javascript,css,vue.js,Javascript,Css,Vue.js,我将创建一个类似这样的圆形颜色选择器。 每种颜色将有12种颜色可从30度中选择,指针将可拖动 我不需要详细的解决方案,只需要一个如何使指针以这种方式拖动的指南,如果指针设置在第一和第二种颜色之间,比如说32度,它应该滑动到第二种颜色中间的45度,依此类推 谢谢 下面是我在评论中提到的一个示例函数: function roundAngle(angle) { return Math.round((angle-15)/30) * 30 + 15; } 下面是一个实践中的例子: 当您放下滑块时

我将创建一个类似这样的圆形颜色选择器。 每种颜色将有12种颜色可从30度中选择,指针将可拖动

我不需要详细的解决方案,只需要一个如何使指针以这种方式拖动的指南,如果指针设置在第一和第二种颜色之间,比如说32度,它应该滑动到第二种颜色中间的45度,依此类推


谢谢

下面是我在评论中提到的一个示例函数:

function roundAngle(angle)
{
    return Math.round((angle-15)/30) * 30 + 15;
}
下面是一个实践中的例子:

当您放下滑块时,应该会得到0到360之间的值。所以你们只需将它除以每种颜色30度,然后进行数学运算。对结果进行四舍五入,然后再乘以30。您将获得与输入值最接近的值,如0、30、60、90等。如果你想把它放在中间,比如15, 45, 75等等,只要在乞讨上减去15,然后把15加到最后的结果上。非常感谢雅各伯,它是我需要的。你能不能也帮我处理一下触摸事件,因为我发现很难让它工作。如果你想在这里使用触摸,你需要分别用:touchstart touchmove和touchend来替换鼠标事件。此外,您必须使用e.targetTouches[0]来代替e.clientX。clientX有一个例子:但是,我不是触摸事件方面的专家,因此我建议您了解它们。