为什么我的JS不工作时设置为'onLoad'但当设置为'无换行符<body>'时有效

Why is my JS not working when set to 'onLoad' but works when set to 'No wrap - in <body>'?

本文关键字:设置 换行符 body 有效 onLoad JS 工作 为什么 我的      更新时间:2023-09-26

我已经设法让小提琴按照我想要的方式工作,但是当我完成时,我意识到我把它设置为' No wrap - in <body> '而不是' onLoad '。

现在我似乎不能让margin top函数在加载时工作。我看不出我哪里出错了。有人能帮忙吗?

设置为No wrap - in <body>: Demo (Working how I need)

设置为onLoad: Demo (Not working)

JS不工作:

function extraMargin() {
   var xMar = $('.fixed-container').outerHeight(); 
   $('.scrolling-container').css({"margin-top":xMar+"px"});
}
$(window).load(function(){
   extraMargin();
});
$(window).resize(function(){
   extraMargin();
});

它不适用于onLoad Fiddle模式,因为在这种情况下,您的代码被包装到window.onload事件处理程序中。但是window.onload事件不会触发两次。您将代码放入JSfiddle中的onLoad回调中,从而放入您自己的

$(window).load(function () {
    extraMargin();
});

以后永远不会执行——没有额外的window.onload来运行extraMargin函数。

你只需要有

//$(window).load(function () {
    extraMargin();
//});

如果你使用onLoad