Javascript 如果条件为,则发出js
我有以下代码,但if条件从未返回true。我正在尝试在宽屏和普通屏幕的背景之间切换Javascript 如果条件为,则发出js,javascript,jquery,html,Javascript,Jquery,Html,我有以下代码,但if条件从未返回true。我正在尝试在宽屏和普通屏幕的背景之间切换 $(document).ready(function(){ var width = $(window).width; var height = $(window).height; var ratio = height / width; if(ratio >= 0.8) { $('body.preview').attr('style','background-
$(document).ready(function(){
var width = $(window).width;
var height = $(window).height;
var ratio = height / width;
if(ratio >= 0.8) {
$('body.preview').attr('style','background-image:url(images/_bg.jpg)');
} else {
$('body.preview').attr('style','background-image:url(images/bg.jpg)');
}
});
jquery函数不是属性
试试看
width
和height
是方法,因此需要调用它们:
var width = $(window).width();
var height = $(window).height();
此外,要设置样式,最好使用.css
方法:
$('body.preview').css('background-image', 'url(images/bg.jpg)');
缺少括号:
var width = $(window).width(); //width should be width()
var height = $(window).height(); //height should be height()
您省略了方法的括号(宽度和高度)
$(窗口).width
和$(窗口).height
都是函数,所以您正在执行fn1/fn2=NaN
看起来很难想象您在将其作为问题发布之前没有试着对其进行调试…您是否尝试阅读jQuery文档?您是否尝试使用console.log(宽度)代码>?当你可以直接使用innerWidth
时,为什么要使用$(window.width()
?@NiettheDarkAbsol@NiettheDarkAbsol:window.innerWidth->1920$(窗口)。宽度();->1903;代码>它们不一样。@NiettheDarkAbsol我只是想指出op做错了什么。:)他的目标可能是覆盖整个内联样式,而不是仅仅向其添加背景图像。
var width = $(window).width(); //width should be width()
var height = $(window).height(); //height should be height()
$(document).ready(function(){
var width = $(window).width();
var height = $(window).height();
var ratio = height / width;
if(ratio >= 0.8)
{
$('body.preview').attr('style','background-image:url(images/_bg.jpg)');
}
else
{
$('body.preview').attr('style','background-image:url(images/bg.jpg)');
}
});