为什么我的JS在设置为'onLoad'时不工作但在设置为'No wrap-in'时有效?

时间:2015-07-10 11:16:26

标签: javascript jquery

我设法得到一个小提琴工作我想要它,但当我完成后我意识到我已将它设置为'No wrap - in <body>'而不是'onLoad'。

现在我似乎无法使用margin top函数来处理onLoad。我看不出我哪里错了。有人可以帮忙吗?

设置为No wrap - in <body>Demo(按照我的需要工作)

设为onLoadDemo(不工作)

JS无效:

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

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

1 个答案:

答案 0 :(得分:2)

它不适用于onLoad小提琴模式,因为在这种情况下,您的代码将被包装到window.onload事件处理程序中。但是window.onload事件并没有发生两次。你将代码放入JSfiddle中的onLoad回调中,因此你自己的

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

以后永远不会执行 - 没有其他window.onload来运行extraMargin功能。

你需要

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

如果你使用onLoad。