Javascript 在硬加载页面后删除一些dom元素
我用这段代码删除了一些DOM元素,如果它们位于Javascript 在硬加载页面后删除一些dom元素,javascript,jquery,Javascript,Jquery,我用这段代码删除了一些DOM元素,如果它们位于#点位置之下 有时有效,有时无效 在硬加载页面后(Ctrl-F5)-它将无法工作。元素不会被删除 只需F5-即可 有什么帮助吗 $(document).ready(function(){ var aoff = $('#point').position(); var apoint = aoff.top; $('.bpart').each(function(){ let boff = $(this).positio
#点
位置之下
有时有效,有时无效
在硬加载页面后(Ctrl-F5
)-它将无法工作。元素不会被删除
只需F5
-即可
有什么帮助吗
$(document).ready(function(){
var aoff = $('#point').position();
var apoint = aoff.top;
$('.bpart').each(function(){
let boff = $(this).position();
let bpoint = boff.top + $(this).height();
if(bpoint > apoint){$(this).remove();}
});
});
您提供的关于F5与硬刷新的信息确实有助于缩小问题的范围 问题是您的代码在加载映像之前正在运行。因此,图像元素的高度为0px,这导致JS无法正常工作
要解决此问题,请不要等待
$(文档)。准备好运行代码之前,请等待$(窗口)。加载。这将在页面上的图像已加载后触发。您的页面是否有图像?硬加载后,浏览器必须再次下载图像,在此期间图像元素的高度为0px。@yts-是的,每个bpart
都有一个图像,但我希望document.ready
确保等到图像进入DOM。@qadenza document.ready不等待页面加载。在此处阅读您可以更改为等待页面加载,或者在计算高度之前使用类似imagesLoaded()的库。@yts-如何在没有库的情况下等待页面完全加载(包括图像)?@qadenza使用$(窗口)。加载而不是$(文档)。准备好了吗