【发布时间】:2020-12-20 19:45:26
【问题描述】:
我创建了以下代码行来为蓝色按钮的渐变设置动画 (https://konzerthofner.webflow.io/events/2-11-im-11-der-auftakt-2020)。一切都按预期工作,直到我决定使用多个此类按钮。在这种情况下,只有第一个按钮会被动画化。我认为问题是,我总是选择 DOM 中的第一个元素和相应的类。不幸的是,我无法为此提供有效的解决方案。
我的JS改一键:
var cta = document.querySelector('.khctaglobal');
cta.addEventListener("mousemove", (e) => {
console.log("mousemove success");
let rect = e.target.getBoundingClientRect();
let x = e.clientX - rect.left;
cta.style.setProperty('--x', x + "px");
});
我解决这个问题的尝试失败了:
var cta = document.querySelector('.khctaglobal');
cta.addEventListener("mousemove", (e) => {
console.log("mousemove success");
let rect = e.target.getBoundingClientRect();
let x = e.clientX - rect.left;
cta.forEach(el => el.style.setProperty('--x', x + "px"));
});
非常感谢您的帮助。
【问题讨论】:
-
querySelector只返回一个元素。querySelectorAll可能返回多个 -
非常感谢您的链接。这绝对有助于理解其背后的原理。
标签: javascript jquery-selectors