$(".leftmenu_main li").hover(function () {
$(this).addClass('hover');
var menuTop = $(this).offset().top;
var itemsList = $(this).children(".sec_cd");
var itemsCount = itemsList.find('.sec_icon').length;
itemsList.css("top", subMenuTop).fadeIn("fast");
}, function () {
$(".sec_cd").hide();
$(this).removeClass('hover');
});
举个栗子
因此offset计算的不是离距离父级的高度,而是离body的上边距和左边距。
html
css
js
offset().top是
层层向上
相对于body的最终结果注意是层层向上,不管中间有几个父级是position定位的,中间多了多少个top偏移量,都会被叠加进去。
用原生JS也可以实现:
那得看你写没写定位父级了,如果没有定位父级那就是body
为什么不查 API。