首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测Hover上的前一个元素

如何检测Hover上的前一个元素
EN

Stack Overflow用户
提问于 2018-06-05 06:53:56
回答 2查看 202关注 0票数 0

请您看一下这个演示程序,让我知道当鼠标悬停在id上时,如何检测到前一个元素的#box-5

例如,我希望控制台记录鼠标移动到#box-5的每个div的id。

代码语言:javascript
复制
$("#box-5").hover(function(){
   console.log("Entering From ...")
    }, function(){
    
});
代码语言:javascript
复制
body {
  padding: 20px;
}
#box{
  width:320px;
  height:300px;
}
.map{
  height:100px;
  width:100px;
  border:1px solid #ccc;
  float:left;
}
#box-5{
  background:khaki;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="box">
<div id="box-1" class="map"></div>
<div id="box-2" class="map"></div>
<div id="box-3" class="map"></div>
<div id="box-4" class="map"></div>
<div id="box-5" class="map"></div>
<div id="box-6" class="map"></div>
<div id="box-7" class="map"></div>
<div id="box-8" class="map"></div>
<div id="box-9" class="map"></div>
</div>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-05 06:58:04

跟踪变量中的最后一个悬停元素,每次这些元素中的一个被悬停时更新它。

代码语言:javascript
复制
$("#box-5").hover(function(){
   console.log("Entering From ..." + last_box)
    }, function(){
    
});

var last_box = null;
$('.map').hover(function(){
   if($(this).attr('id') != 'box-5'){
       last_box = $(this).attr('id');
   }
})
代码语言:javascript
复制
body {
  padding: 20px;
}
#box{
  width:320px;
  height:300px;
}
.map{
  height:100px;
  width:100px;
  border:1px solid #ccc;
  float:left;
}
#box-5{
  background:khaki;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="box">
<div id="box-1" class="map"></div>
<div id="box-2" class="map"></div>
<div id="box-3" class="map"></div>
<div id="box-4" class="map"></div>
<div id="box-5" class="map"></div>
<div id="box-6" class="map"></div>
<div id="box-7" class="map"></div>
<div id="box-8" class="map"></div>
<div id="box-9" class="map"></div>
</div>

票数 3
EN

Stack Overflow用户

发布于 2018-06-05 06:57:18

您可以将悬停元素的id存储在一个单独的变量中,并且每次在悬停事件处理函数中更改它。

代码语言:javascript
复制
let hoveredId = 0;

$(".map").hover(function() {
    this.id !== 'box-5' ? hoveredId = this.id 
                        : console.log(`Entering from ${hoveredId}`);
}, () => {});
代码语言:javascript
复制
body {
  padding: 20px;
}

#box {
  width: 320px;
  height: 300px;
}

.map {
  height: 100px;
  width: 100px;
  border: 1px solid #ccc;
  float: left;
}

#box-5 {
  background: khaki;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="box">
<div id="box-1" class="map"></div>
<div id="box-2" class="map"></div>
<div id="box-3" class="map"></div>
<div id="box-4" class="map"></div>
<div id="box-5" class="map"></div>
<div id="box-6" class="map"></div>
<div id="box-7" class="map"></div>
<div id="box-8" class="map"></div>
<div id="box-9" class="map"></div>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50693838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档