Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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 应用于两个DOM元素的mouseenter和leave_Javascript_Jquery_Mouseevent_Mouseenter - Fatal编程技术网

Javascript 应用于两个DOM元素的mouseenter和leave

Javascript 应用于两个DOM元素的mouseenter和leave,javascript,jquery,mouseevent,mouseenter,Javascript,Jquery,Mouseevent,Mouseenter,我有一个DOM元素,当鼠标悬停在上面时,应该将另一个DOM元素的不透明度设置为1。由于z顺序的原因,我不能嵌套第二个元素,但我希望交互,只要你覆盖任意一个DOM元素,它们就应该保持可见,但是如果你滚动掉任意一个元素,第二个元素应该将其不透明度设置为零 有人知道如何做到这一点吗?使用jQuery,您可以执行以下操作 var show = false; $(element1).hover(function() { if(!show) { show

我有一个DOM元素,当鼠标悬停在上面时,应该将另一个DOM元素的不透明度设置为1。由于z顺序的原因,我不能嵌套第二个元素,但我希望交互,只要你覆盖任意一个DOM元素,它们就应该保持可见,但是如果你滚动掉任意一个元素,第二个元素应该将其不透明度设置为零


有人知道如何做到这一点吗?

使用jQuery,您可以执行以下操作

  var show = false;
  $(element1).hover(function()
   {
      if(!show)
      {
        show = true;
        $(element2).fadeIn();
      }
   });
  $(element2).hover(function()
   {
     if(!show)
     {
       $(this).fadeIn();
       show = true;
     }
   };
  $(element1, element2).mouseleave(function(){$(element2).fadeOut();});

我使用show变量的原因是,如果第二个元素已经显示,您不想使其褪色。通过用逗号分隔不同的选择器,可以在一个集合中组合多个选择器。希望这对你有用。

你想要同样的效果,但是用js?不完全正确-在您的示例中,如果我将鼠标悬停在“我在这里”段落上,两者都将保持可见。您可以在我的示例中进行布局吗?然后更改一个CSS规则:像这样?~选择器,但正如您所看到的,您无法控制前一个元素,这使得第一个我在这里淡出,在您将鼠标悬停在下一个元素上后,您需要一个javascript来解决此问题,正如我所知道的,我记得悬停有两个函数参数,鼠标输入和鼠标离开是的,@eicto您是正确的。Hover可以接受两个代理进入和离开。这里是jQuery参考。此外,fadeIn和fadeOut都接受速度或字符串(即慢速)。