我有一个使用jQuery(窗口).height()的整页幻灯片,它在大多数浏览器上工作正常,但是我在手机上检查了它(Android Browser& Dolphin),幻灯片显示无休止地增长,很好超出视口高度。 这是我的代码:
var height = jQuery(window).height();
jQuery('.slide').each(function(index, element) {
if(height > 600) jQuery(this).height(height);
else jQuery(this).height(600);
});
jQuery(window).on('resize orientationChanged', function() {
jQuery('.slide').each(function(index, element) {
if(height > 600) jQuery(this).height(height);
else jQuery(this).height(600);
});
});
任何想法可能导致它?
感谢。
答案 0 :(得分:6)
所以在这个问题3年后问jquery窗口高度仍然无法在移动设备中工作,只需用javascript替换jquery,它对我有用。
替换jquery
var bodyh = jQuery("body").height();
var windowh = jQuery(window).height();
使用javascript
var bodyh = document.body.clientHeight;
var windowh = window.innerHeight;
答案 1 :(得分:1)
如果HTML文档没有DOCTYPE声明,则它不是有效的HTML。如果未在窗口中指定doctype,则JQuery无法正确计算窗口高度/文档高度。
该声明是向Web浏览器发送的有关页面中使用的HTML版本的说明。
因此,如果您还没有指定它,请将DOCTYPE声明添加到您的HTML页面并查看输出。
<!DOCTYPE HTML>
<html>
//...
</html>
答案 2 :(得分:0)
html文档类型可能存在问题。以下是移动设备的示例文档类型。在代码中更改此内容并尝试。
<!DOCTYPE html>
<html>
<head>
<title>My Page name</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
请参阅以下链接更多详情。 http://www.microsoft.com/en-GB/developers/articles/jquery-mobile-101