0

我有一些 jQuery 可以设置各种 div 的高度和宽度。

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

这一直很好,直到最近我添加了一个脚本来加载 userAgent 特定的 css 文件,一个用于 iPad、Android 和其他所有文件。由于某种原因,这两个脚本不会一起运行。我可以拥有正确大小的 div 或多平台网站。

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 回答