我想在窗口调整大小以及初始加载期间调用JQuery函数。我刚试过这个,我相信有更好的方法,请解释一下这个学习者,
$(document).ready(function () {
$(function () {
var doosomething = function () {
$('#bottomDiv').css('top', $(window).height() - 105);
}
$(window).resize(doosomething);
});
});
答案 0 :(得分:4)
尝试
$(document).ready(function () {
var do_something = function () {
$('#bottomDiv').css('top', $(window).height() - 105);
}
$(window).resize(do_something);
do_something();
});
您对$(function () {
的来电没有任何用处,因为它与$(document).ready(function () {
完全相同。
答案 1 :(得分:3)
无需为此功能命名,以便您可以调用它。
你可以这样做:
$(function () {
// -----------v-----------assign the handler
$(window).resize(function () {
$('#bottomDiv').css('top', $(window).height() - 105);
}).resize();
});
// ---^--- invoke the handler
答案 2 :(得分:0)
您可能会发现window.resize有时不可靠。不同的浏览器在不同的时间调用它。 (例如,您希望它“实时”发生还是在它们停止调整大小后发生?)
我建议使用:
setInterval(doosomething, 500);
或类似的东西。你的代码很好,除了你不必要的嵌套之外。并且在调整大小之前不进行初始调用(如果这是你想做的事情)。