0

コードセグメントはプラグインメソッドで実行されています。つまり$.fn.insideThisMethod()、ページの読み込み時に呼び出されます。メソッド内で、を呼び出します

$obj.css('height',$(window).height());

Chromeで正常に動作します。ただし、IE9では次のことが発生します。ページの読み込み時に、(jqueryがまだ起動されていない間)一瞬、背景が$obj表示されます。ここまでは順調ですね。次に、jqueryコードがページロードで実行されると、バックグラウンドで別のオブジェクトがその代わりに表示されます。つまり、$obj何らかの理由で消えます。これを防ぐ唯一の方法はalert('whatever');、上記の呼び出しが行われる前にjqueryコードにを入れること$obj.css()です。その場合、$obj画面に表示されているはずの場所に留まり、消えることはなく、すべてが正常です。の呼び出し後にアラートを入力した場合でも、[OK]をクリックしても表示されないことに注意して$obj.css()ください$obj

私はこれが曖昧であることを知っていますが、これがjquery noobsが遭遇する既知のエラーであり、どういうわけか簡単に修正できる場合に備えて、ここにそれを載せます。

ブラウザの読み込み時に実行されていることと関係があると思います。おそらく、アラートボックスが閉じられると、リソースの準備がまだ整っていない可能性があります。

$(document).ready(function(){})編集:上記を;でラップしてみました しかし、行動に変化はありません。

4

2 に答える 2

0

試す:

$obj.css('height',$(window).height() + 'px');

または、次のようにします。

$obj.height($(window).height());
于 2012-07-06T00:06:31.240 に答える