为了详细说明我的问题,我设计了一个专门在桌面上查看的网站。如果在移动设备上进行测试,它看起来不太好。因此,我使用jQuery mobile为我的网站(包含所有相同的内容)制作了完全不同的布局(由于其简单性)。
我现在意识到可能有更好的方法来实现这一点,例如在我的CSS文件中基于媒体查询实现移动视图,但这是我选择这样做的方式,并且更愿意坚持使用它。
我想使用我的JavaScript文件来检测不同的屏幕尺寸,以便根据指定的屏幕宽度和高度显示桌面视图或移动视图。截至目前,我的桌面视图和移动视图有两个不同的html文件,我知道这不好。
我不想要两个html文件,我想把两者结合起来!这是我能够在.js文件中调用两个不同代码的唯一方法,对吗?有谁知道如何做到这一点?
在我的移动视图文件中,我需要包含jQuery库。没有这些,它将无法运作。但是当我尝试在我的桌面视图文件中包含它时(因为我现在正在尝试组合这些文件),我只是单独测试了它,它完全弄乱了桌面上的视图。我该如何解决这个问题?除此之外,我假设我只是将代码与两个不同的代码分开,只要合并其余的代码,是吗?
例如,
<div id="desktop"> ..... </div> <!-- this is for desktop view -->
和
<div id="mobile"> ..... </div> <!-- this is for mobile view -->
拜托,任何帮助都会非常感激。我试过研究这个,但我找不到任何具体到足以回答我的问题。
以下是我的桌面视图文件的开头:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="hwk5.css">
<script type="text/javascript" src="hwk5.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
这是我的移动视图文件的开头:
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css">
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
<style>
img.fullscreen {
max-height:50%;
max-width:50%;
}
</style>
</head>
<body>
答案 0 :(得分:1)
正如我在评论中所说,您可以detect mobile browsing with PHP并相应地将用户重定向到桌面或移动网站,但如果您真的想使用jQuery执行此操作,则可能。
您需要检查页面宽度onReady和onResize:
$(document).ready(function(){resize();});
$(window).resize(function(){resize();});
function resize()
{
var mobileMaxWidth = 640; //Define this to whatever size you want
if($(window).width() > mobileMaxWidth)
{
$("div#desktop").show();
$("div#mobile").hide();
}
else
{
$("div#desktop").hide();
$("div#mobile").show();
}
}
就jQuery弄乱你的桌面网站而言,你必须使用另一个DOM。您是在导入使用$
的MooTools还是其他流行的DOM?如果是这样,您需要将jQuery代码明确标记为jQuery("selector")...
而不是$
或使用jQuery.noConflict
。
有关详细信息,请参阅this post.
答案 1 :(得分:1)
我建议你写两个单独的CSS
个文件......一个用于桌面和其他用于移动设备。并根据当前屏幕大小使用javascript更改css
文件。
要实现此目的,您可以使用此脚本
<script type="text/javascript">
$(document).ready(function () {
changecss();
});
$(window).resize(function () { changecss(); });
function changecss() {
var windowwidth = $(window).width();
var windowheight = $(window).height();
if (windowwidth >= 1024 && windowheight >= 768) {
//alert('Screen size: 1024x768 or larger');
$("link[rel=stylesheet]:not(:first)").attr({ href: "Style2.css" });
}
else {
$("link[rel=stylesheet]:not(:first)").attr({ href: "Style1.css" });
}
}
</script>
HTML
<div>
The colour of this text will change.
</div>