想法是获取元素的宽度,然后根据大小进行操作。
function featureSliderLoad(){
var feature = setInterval(function(){
var adWidth = jQuery('#leaderboard div iframe').width();
if(adWidth != 0 && adWidth != null){
if(adWidth > 728){
Do something
} else {
Do something else
}
}
if(jQuery('#leaderboard div iframe').width() > 100){
clearInterval(feature);
}
}, 2000);
});
这在大多数情况下都有效,但有时不起作用。如果像这样使用onload:
jQuery(window).load(function featureSliderLoad()
然后,它可以100%地起作用,但是我不必这样做,因为我有:
if(adWidth != 0 && adWidth != null)
这应该解决元素未加载并出现0或null的问题。
没有人看到我不使用(window).load时会停止工作的代码问题吗?
谢谢
最佳答案
这听起来像脚本在DOM在页面中完全呈现之前就已经执行了。如果要将Div元素注入页面后呈现中,则可能还会出现问题。这就是您的代码段Query(window).load(...
起作用的原因,因为它防止在DOM完成呈现之前被调用。
我会将您的jQuery包装在documet.ready
函数中,或者使用上面的内容来阻止代码执行,直到DOM完全呈现为止。否则会被击中或错过。