javascript - 我正在寻找 style.background 的解决方案

标签 javascript string ecmascript-6

我想创建“交互式背景”。当我移动鼠标时,背景会发生变化。 我尝试使用 object.style.background = "rgb(".hex_a.",".hex_b.",".hex_c.")"; 显然,这是行不通的。

const paragrapf = document.getElementById("content");
const namebox = document.getElementById("namebox");
const colorbox = document.getElementById("colorbox");
const hashbox = document.getElementById("hashbox");
document.onmousemove = function(e){
    var hex_a = e.clientX;
    var hex_b = e.clientY;
    var hex_c = e.clientX;
    colorbox.style.background = "rgb("hex_a", "hex_b", "hex_c")";
}

colorbox.style.background = "rgb("hex_a", "hex_b", "hex_c")";

我尝试在值之间添加点。我尝试添加不带“引号”的值。 我什至在用于 nub 0-255 的地方直接添加了值。

最佳答案

如果你支持字符串插值:

colorbox.style.background = `rgb(${hex_a}, ${hex_b}, ${hex_c})`;

否则:

colorbox.style.background = 'rgb(' + hex_a + ', ' + hex_b + ', ' + hex_c + ')';

此外,请记住 clientXclientY 可能(在您的情况下肯定会)返回高于 255 的值,这会导致您在使用它们时出现问题在 rgb 函数中。

您必须对范围进行某种映射。您可以在此处阅读更多信息:https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientX

关于javascript - 我正在寻找 style.background 的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56414091/

相关文章:

javascript - jquery 字符串转数字返回字符串

javascript for循环更改原始列表变量

javascript - iFrame 验证

javascript - 使用 JavaScript 函数对数组进行排序

c - 循环中的 fgets 重复二维数组中的数据

javascript - 将具有预定义 Prop 的对象传递给类构造函数 es6

javascript - 如果单元格不是粗体,则求和

c - strncpy() 在第二次调用同一源时失败

javascript - 获取所有已声明模块导入的列表 (SystemJS)

javascript - Angular 1.5.4 服务未定义