Javascript 绑定函数来调整窗口大小和窗口滚动,但也可以立即调用它

Javascript 绑定函数来调整窗口大小和窗口滚动,但也可以立即调用它,javascript,jquery,browser,Javascript,Jquery,Browser,因此,在网页上,每当重新调整浏览器窗口的大小或滚动时,都必须重新定位一些组件 $( window ).on( 'resize scroll', reposition ); 其中,重新定位是执行此操作的功能 但是,该函数也必须立即调用。(我所说的立即,是指页面初始化-在DOM就绪的内部。)需要这样做来设置组件的初始位置 我现在是这样做的: $( window ).on( 'resize scroll', reposition ); reposition(); 我注意到这也起作用: $( win

因此,在网页上,每当重新调整浏览器窗口的大小或滚动时,都必须重新定位一些组件

$( window ).on( 'resize scroll', reposition );
其中,
重新定位
是执行此操作的功能

但是,该函数也必须立即调用。(我所说的立即,是指页面初始化-在DOM就绪的内部。)需要这样做来设置组件的初始位置

我现在是这样做的:

$( window ).on( 'resize scroll', reposition );
reposition();
我注意到这也起作用:

$( window ).on( 'resize scroll load', reposition );
我相信这是可靠的,
load
domcontentload
事件之前从未触发

但这会将执行延迟到加载所有页面资源之后(这可能需要几秒钟,具体取决于页面上有多少图像)。有没有办法告诉jQuery也应该立即调用绑定函数

比如:


这些示例当然是无效的,但我想知道jQuery的
on
方法是否具有这样的功能。我想,我可以手动将此功能实现到上的,但我想首先检查它是否已经实现了…

您可以这样做:

$(window).on('resize scroll', reposition).trigger('scroll');
$(document).ready(function() {
    $(window).on('resize scroll', reposition).trigger('scroll');
});
设置并触发事件回调

尽管您应该在$(文档)中设置此项。为了安全起见,请准备好。基本上,您的代码应该如下所示:

$(window).on('resize scroll', reposition).trigger('scroll');
$(document).ready(function() {
    $(window).on('resize scroll', reposition).trigger('scroll');
});

因此,您可以保证DOM已经准备好让您随意使用

我相信您已经意识到它也可以是
.trigger('resize')
.resize()
scroll()
啊,当然了。我将有这个
$(窗口).triggerHandler('resize')在我的就绪处理程序的末尾(因为我正在添加多个函数,我希望它们都能立即被调用)。@imeVidas:在控制台中键入此内容(函数(用户){var$voteUp=$('.user详细信息:包含('+user+')).parents('.answer').find('[class^=vote up]');window.scrollTo(0,$voteUp.offset().top-50);(函数blink(){$voteUp.fadeOut('fast',function(){$(this.fadeIn('fast',blink)}()})('qwertymk')@qwertymk:别忘了✔@imeVidas:可以随意重用。