Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在调整大小和浏览器宽度时激发jQuery_Javascript_Jquery_Css_Background Size - Fatal编程技术网

Javascript 在调整大小和浏览器宽度时激发jQuery

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,它就不会删除背景大小,

我在IE中遇到了背景大小的问题,所以我找到了一个JavaScript,允许它在IE中工作,但我只希望在屏幕宽度低于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分。