首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在.hide()上增加先前值的jquery偏移量

在.hide()上增加先前值的jquery偏移量
EN

Stack Overflow用户
提问于 2015-09-21 02:56:05
回答 2查看 545关注 0票数 0

使用jquery.offset()设置位置并不像我预期的那样。我的示例代码试图在悬停时将div (.slide)与另一个(.active) div覆盖。我理解偏移量( {top,left} )将元素的位置设置为{top,左侧},但它每次都会将位置递增这个值。

作为练习,如果我将active块设置为display:block和remove active.hide()语句,那么定位将如我所期望的那样工作。.hide()似乎导致偏移积累。我非常感谢你的指导。

http://jsfiddle.net/laurencefass/q815mqkm/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(".slide").mouseenter(function (e) {
    $(this).css("background-color", "red");
    offset = $(this).offset();
}

更多代码跟随链接..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-21 03:15:56

看到这个小提琴刚刚编辑了你的代码,任何覆盖div将在悬停的div顶部。我猜这是你想要的。看这个更新小提琴。在您的代码中,您设置了顶部:1和左:1,这对于所有div都是不同的位置,您需要使用它们的偏移量,而不是每次使用1和1,并且设置偏移量定义为设置元素的坐标(位置),以便在第一个实例中使其工作元素在设置其坐标时可见。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 active.show(); //show the div first and then set the offset
 active.offset({
    top:  offset.top,
    left: offset.left
});
票数 1
EN

Stack Overflow用户

发布于 2015-09-21 02:57:54

为什么不直接使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
position: relative;
top: 1px;
left: 1px;

就像你期待的那样,对吧?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ul {margin: 0; padding: 0; list-style: none;}
ul li {
  width:19%;
  margin-left:1%;
  min-height: 100px;
  float:left;
  background-color:orange;
  border:5px solid gray;
  box-sizing: border-box;
}
ul li:hover {
  position: relative;
  top: 2px;
  left: 2px;
  background-color:blue;
  border:5px solid gray;
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<ul>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
</ul>

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

https://stackoverflow.com/questions/32693454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文