如何为outerHeight()函数追加像素及获取其减100px的值
解决.pg-sect元素高度计算与滚动判断的问题
嘿,这两个需求用jQuery就能轻松搞定,我分两步给你拆解清楚:
1. 获取.pg-sect元素outerHeight并额外增加70px
首先你需要先拿到目标元素的outerHeight值——这里要注意,jQuery的outerHeight()方法默认只计算元素的内容+内边距+边框,如果需要包含外边距的话,要给方法传true参数。之后直接加上70px就行,代码如下:
// 获取.pg-sect的基础高度(不含margin,要包含的话改成.outerHeight(true)) const baseHeight = $('.pg-sect').outerHeight(); // 增加70px后的最终高度 const finalHeight = baseHeight + 70;
2. 获取outerHeight减100px的数值并实现滚动判断
首先先算出触发操作的目标高度,然后监听滚动事件判断当前滚动位置是否达标。这里要提醒一句:实际开发中尽量不要用精确的===判断,因为滚动事件的触发精度问题,很可能会跳过这个精确值,建议用区间或者>=来判断,代码示例如下:
// 先算出触发操作的目标高度 const triggerHeight = $('.pg-sect').outerHeight() - 100; // 监听window的滚动事件(如果是某个滚动容器,就把$(window)换成容器选择器) $(window).scroll(function() { // 获取当前滚动的距离 const currentScrollTop = $(this).scrollTop(); // 用区间判断避免漏触发(±5px的容错范围,可根据需求调整) if (currentScrollTop >= triggerHeight - 5 && currentScrollTop <= triggerHeight + 5) { // 这里写你要执行的操作 console.log('已滚动到指定位置,执行操作'); } // 如果需求是滚动到超过这个高度才执行,直接用>=即可: // if (currentScrollTop >= triggerHeight) { ... } });
内容的提问来源于stack exchange,提问作者alexa.wa
相关产品推荐
相关产品推荐

