0

さまざまなdivの高さと幅を設定するjQueryがいくつかあります。

jQuery(document).ready(function($) {
    var h = $(window).height();
    var w = $(window).width();
$('.slide') .css({'height': h});
$('.slide') .css({'width': w});
}); 

これは、最近まで、userAgent固有のcssファイル(iPad、Android、およびその他すべて用)をロードするスクリプトを追加するまでは正常に機能していました。何らかの理由で、2つのスクリプトは一緒に実行されません。正しいサイズのdiv、またはマルチプラットフォームのWebサイトのいずれかを使用できます。

if(navigator.userAgent.match(/iPad/i)) {
document.write("<link type=\"text\/css\" *etc*>");}

else if(navigator.userAgent.match(/android/i)){
document.write("<link type=\"text\/css\" *etc*>");}

else {
document.write("<link type=\"text\/css\" *etc*>");
}

スクリプトのこの最後のビットが最初のスクリプトの実行を停止している理由は何ですか?

4

1 に答える 1

0

私の推測では、次のようになります。

このjQuery.ready()関数は、dom 構造が完全に読み込まれるとすぐに呼び出されますが、外部スタイルシートが読み込まれる前に呼び出されます。これは、スタイルシートをロードして適用するコードと、css を変更するコードとの間に競合状態が発生する可能性があることを意味します。

でこのフラグメントを呼び出そうとするかもしれませんjQuery.onload()

var h = $(window).height();
var w = $(window).width();
$('.slide') .css({'height': h});
$('.slide') .css({'width': w});
于 2012-09-19T14:26:43.293 に答える