javascript中有没有一种方法可以识别我何时将鼠标移到同一个元素上,何时移到另一个元素上?

javascript中有没有一种方法可以识别我何时将鼠标移到同一个元素上,何时移到另一个元素上?,javascript,Javascript,我有一个更新的时间变量,只想在鼠标移到另一个元素上时重新启动它的值,如果您将鼠标悬停在同一个元素上,它应该继续更新。我应该如何处理这个问题?以下是部分代码: // Change shaders function changeShader() { const elements = document.querySelectorAll('.caption'); elements.forEach(element => { element.addEventListener('mou

我有一个更新的时间变量,只想在鼠标移到另一个元素上时重新启动它的值,如果您将鼠标悬停在同一个元素上,它应该继续更新。我应该如何处理这个问题?以下是部分代码:

// Change shaders
function changeShader() {
  const elements = document.querySelectorAll('.caption');

  elements.forEach(element => {
    element.addEventListener('mouseover', function() {

      if (you hovered on the same element) {
        console.log('you moused over the same element');
      } else {
        console.log('you moused over on a different element');
      }
    });
  });
}

您可以保存上次悬停的dom并检查其是否相同:


函数changeShader(){
让最后的你徘徊;
const elements=document.querySelectorAll('.caption');
elements.forEach(element=>{
元素。addEventListener('mouseover',function(){
如果(最后一次悬停==此){
log('您将鼠标移到同一个元素上');
}否则{
log('您将鼠标移到了另一个元素上');
}
最后一次悬停=这个;
});
});
}
changeShader()
.caption.。无悬停{
填充:10px;
边缘底部:25px;
背景色:#ccc;
光标:指针;
}
我是标题1
我是标题2
我是标题3
我是标题4

我是标题5
,这是一种使用JavaScript动态实现的方法。在本例中,代码为每个元素的onmouseover事件分配一个处理程序,在本例中,每个元素都是一个按钮

var标志=新数组(2);
标志[0]=0;
标志[1]=0;
var buttons=document.getElementsByTagName(“按钮”);
for(设i=0,max=buttons.length;i

#a{
背景:#000;
颜色:青柠;
}
#b{
背景:#000;
颜色:青色;
}
#a:悬停,#b:悬停{
背景:#600;
颜色:#ffdede;
}
按钮A

按钮B
在光标移动到另一个元素之前,它可能已经离开了上一个元素。所以我真的不知道你想在这里做什么。你能给我们一个你要写的逻辑的具体实现吗?“我觉得这是个XY问题。”特里为我糟糕的解释感到抱歉。希望这能提供更多的洞察力:当鼠标移动到不同的元素或标题上时,我正在使用three.js场景显示不同的图像纹理。鼠标一进入元素,时间变量(设置为0)就会使用requestAnimationFrame每秒更新60次。此变量帮助我为纹理创建不同的着色器动画。我想要的是,只有当鼠标移动到另一个元素上时,才将时间值重新启动为0,如果鼠标移动到同一个元素上,时间应该继续更新。所有元素都一样。为什么不在它离开当前元素时重置它呢?我会使用
mouseenter
mouseleave
,因为它们使用起来更直观。谢谢!这正是我想做的。