Javascript 在调整大小和浏览器宽度时激发jQuery
我在IE中遇到了背景大小的问题,所以我找到了一个JavaScript,允许它在IE中工作,但我只希望在屏幕宽度低于768像素时应用背景大小 以下是我当前的脚本:Javascript 在调整大小和浏览器宽度时激发jQuery,javascript,jquery,css,background-size,Javascript,Jquery,Css,Background Size,我在IE中遇到了背景大小的问题,所以我找到了一个JavaScript,允许它在IE中工作,但我只希望在屏幕宽度低于768像素时应用背景大小 以下是我当前的脚本: $(window).resize(function() { if($(window).width() > 768) jQuery('#header').css( "background-size", "cover" ); }); 一旦你开始调整大小,它就可以工作,但是一旦你小于768,它就不会删除背景大小,
$(window).resize(function() {
if($(window).width() > 768)
jQuery('#header').css( "background-size", "cover" );
});
一旦你开始调整大小,它就可以工作,但是一旦你小于768,它就不会删除背景大小,并且初始状态也没有背景大小。有什么想法吗?谢谢 你的答案几乎是正确的。你所需要做的就是添加一个else
$(window).resize(function() {
if($(window).width() > 768) {
jQuery('#header').css( "background-size", "cover" );
} else {
jQuery('#header').css( "background-size", "whatever" );
}
});
我担心你到处写jQuery,所以你能做的还有:
jQuery(function( $ ) { // DOM ready and secured jQuery's $ alias
// Use freely $ alias
var $header = $('#header'); // Cache your selectors
$(window).resize(function() {
$header.css({backgroundSize:$(this).width()>768?"cover":"whatever"});
});
// Other $ code here
});
你的回答几乎是正确的。你所需要做的就是添加一个else
$(window).resize(function() {
if($(window).width() > 768) {
jQuery('#header').css( "background-size", "cover" );
} else {
jQuery('#header').css( "background-size", "whatever" );
}
});
我担心你到处写jQuery,所以你能做的还有:
jQuery(function( $ ) { // DOM ready and secured jQuery's $ alias
// Use freely $ alias
var $header = $('#header'); // Cache your selectors
$(window).resize(function() {
$header.css({backgroundSize:$(this).width()>768?"cover":"whatever"});
});
// Other $ code here
});
无需使用javascript,只需使用css和MediaQuery即可。这比jQuery/javascript快得多,并且正是针对这种情况。尤其是在手机上,旋转设备时,您会注意到这一点。此外,较旧的浏览器在调整大小时也不会那么杂乱无章
#header{
/* style for the older browsers, also basic info like maybe height/width */
}
@media screen {
#header{
background-size : cover;
/* Other css, not defined in the #header{} above, for modern browsers */
}
}
小提示:Mediaqueries在旧浏览器上不起作用。您可以充分利用这一点,只在mediaquery中设置现代浏览器的样式。
请记住,背景大小不起作用,所以你不能使用它,不需要使用javascript,只需使用css和MediaQuery。这比jQuery/javascript快得多,并且正是针对这种情况。尤其是在手机上,旋转设备时,您会注意到这一点。此外,较旧的浏览器在调整大小时也不会那么杂乱无章
#header{
/* style for the older browsers, also basic info like maybe height/width */
}
@media screen {
#header{
background-size : cover;
/* Other css, not defined in the #header{} above, for modern browsers */
}
}
小提示:Mediaqueries在旧浏览器上不起作用。您可以充分利用这一点,只在mediaquery中设置现代浏览器的样式。
请记住,背景尺寸不起作用,所以你不能使用它为什么要使用JQ?如果$window.width>768做一件事,您可以在css文件中使用@media来实现这一点;否则就做其他的;应该是这么简单,还是我遗漏了什么?就像我说的,背景大小在IE中不起作用,所以我必须使用JavaScript。@user13286,如果背景大小在IE上不起作用,那么在IE上就不起作用了。如果你这样使用它,请尝试另一种方法,因为你做的事情与CSSIt一样,效果很好,我已经测试过了。我使用的Javascript就是专门为这种用途而设计的。为什么使用JQ?如果$window.width>768做一件事,您可以在css文件中使用@media来实现这一点;否则就做其他的;应该是这么简单,还是我遗漏了什么?就像我说的,背景大小在IE中不起作用,所以我必须使用JavaScript。@user13286,如果背景大小在IE上不起作用,那么在IE上就不起作用了。如果你这样使用它,请尝试另一种方法,因为你做的事情与CSSIt一样,效果很好,我已经测试过了。我使用的Javascript就是专门为这种用途而设计的。谢谢,如果我只加了一组空引号,那会不会删除背景大小属性?谢谢,如果我只加了一组空引号,那会删除背景大小属性吗?添加了反向版本,这样IE8就不会有问题我删除了+1一秒钟只是因为你的答案暗示IE8有关于背景大小的线索。。。所以,无论是翻转还是非翻转,对我来说都毫无意义;希望它能对你有所帮助。我会留下一些东西,比如如果你不需要对旧浏览器的支持。。。bla-blaI删除了反向方法,并添加了一个note-don-downvote和not-comment。但是我可以在我的收件箱中看到你的评论,我已经更新了我的答案,找到了一种在两种浏览器中都能使用的解决方案。我不是那种悲观的人。。。你永远不会知道谁投了反对票,而是把注意力集中在其他问题上,而不是一张反对票上。或者改进你的答案,有时选民会回来看看答案是否得到了改进,以重新获得失去的-1分。添加了反向版本,这样IE8就不会成为问题。我删除了+1一秒钟只是因为你的答案暗示IE8对背景大小有线索。。。所以,无论是翻转还是非翻转,对我来说都毫无意义;希望它能对你有所帮助。我会留下一些东西,比如如果你不需要对旧浏览器的支持。。。bla-blaI删除了反向方法,并添加了一个note-don-downvote和not-comment。但是我可以在我的收件箱中看到你的评论,我已经更新了我的答案,找到了一种在两种浏览器中都能使用的解决方案。我不是那种悲观的人。。。你永远不会知道谁投了反对票,而是把注意力集中在其他问题上,而不是一张反对票上。或者改进你的答案,有时选民会回来看看答案是否得到了改进,以重新获得失去的-1分。