8

この関数をウィンドウのサイズ変更時だけでなく、最初のページ読み込み時にも実行するにはどうすればよいですか?

$(window).resize(function() {
...  
});
4

5 に答える 5

18

使用する必要があります:

$(document).ready(function() { /* your code */ });

オンロードで何かを起こさせるため。何かをonloadおよびonresizeで動作させたい場合は、次のことを行う必要があります。

onResize = function() { /* your code */ }

$(document).ready(onResize);

$(window).bind('resize', onResize);
于 2010-04-08T02:21:49.973 に答える
1

この動作は仕様です。

コードを名前付き関数に入れてから、関数を呼び出す必要があります。

例えば:

function onResize() { ... }

$(onResize);
$(window).resize(onresize);

または、ハンドラーを自動的にバインドして実行するプラグインを作成できます。

$.fn.bindAndExec = function(eventNames, handler) {
    this.bind(eventNames, handler).each(handler);
};

$(window).bindAndExec('resize', function() { ... });

ハンドラーがオブジェクトを使用する場合は正しく機能しないことに注意してください。また、メソッドeventのすべてのオーバーロードをカバーしているわけではありません。bind

于 2010-04-08T02:19:32.003 に答える
1
$(document).ready(onResize);
$(window).bind('resize', onResize);

私とはうまくいきませんでした。

試す

$(window).load('resize', onResize);
$(window).bind('resize', onResize);

代わりは。

(この質問は古いことは知っていますが、Googleがここに送ってくれたので...)

于 2012-03-22T12:44:52.410 に答える
0

別のアプローチとして、単純にハンドラーをセットアップし、サイズ変更イベントを自分でスプーフィングすることができます。

// Bind resize event handler through some form or fashion
$(window).resize(function(){
  alert('Resized!');
});

// Trigger/spoof a 'resize' event manually
$(window).trigger('resize');
于 2014-04-05T04:36:45.563 に答える