我正在尝试使用 jquery 将元素的高度设置为等于用户浏览器。这是我到目前为止无法正常工作的代码。是因为我在 css 中设置了最小高度吗?我真的需要那个类来等于用户的分辨率。
<script type="text/javascript">
jQuery(function() {
jQuery(".bg").css("height", jQuery(window).css("height"));
}
</script>
我正在尝试使用 jquery 将元素的高度设置为等于用户浏览器。这是我到目前为止无法正常工作的代码。是因为我在 css 中设置了最小高度吗?我真的需要那个类来等于用户的分辨率。
<script type="text/javascript">
jQuery(function() {
jQuery(".bg").css("height", jQuery(window).css("height"));
}
</script>
将变量设置为window.innerHeight
$(document).ready(function() {
var height = window.innerHeight;
$(".bg").css("height", height);
});
有关. _ _window.innerHeight
window.innerHeight
如您所问,返回用户视口的高度,而不是真正的屏幕分辨率,但它有效。还有window.innerWidth
其他方法可以获取用户的屏幕统计信息。
您也可以使用self.innerHeight
, parent.innerHeight
,top.innerHeight
但它们有不同的用途。(见链接)。
此外,您正在使用$(window).css("height");
jQuerycss()
函数分配css 值,它不返回字符串。那是$(window).height()
因为height()
确实返回了一个字符串。
var height = function() { return this.length; }
// height() returns "this.length"
试试这个,它保持图像的纵横比
$(function(){
var ratio = $("img").width() / $("img").height();
var newWidth = ($(window).height()-10) * ratio;
if(newWidth > $(window).width())
$("img").css("width","100%");
else
$("img").css("width",newWidth+"px");
$(window).resize(function(){
var ratio = $("img").width() / $("img").height();
var newWidth = $(window).height() * ratio;
if(newWidth > $(window).width()){
$("img").css("width","100%");
}
else{
$("img").css("width",newWidth+"px");
}
});
});
你必须使用jQuery(window).height()
. Windows 实际上没有随分辨率变化的动态高度 css 属性。
要设置“元素”高度,您需要设置窗口的高度。
$('element').height($(window).height());
您可以使用此 javascript 脚本来获取浏览器的高度和宽度。它还支持多种浏览器:
var viewportwidth;
var viewportheight;
// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
if (typeof window.innerWidth != 'undefined') {
viewportwidth = window.innerWidth,
viewportheight = window.innerHeight
}
// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
viewportwidth = document.documentElement.clientWidth,
viewportheight = document.documentElement.clientHeight
}
// older versions of IE
else {
viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
viewportheight = document.getElementsByTagName('body')[0].clientHeight
}
浏览器的宽度和高度将分别存储在viewportwidth
和viewportheight
变量中。然后你可以使用类似的东西
var bg = document.getElementById("bg");
bg.style.height = viewportheight;
这会将具有 idbg
高度的元素设置为视口高度。