簡體   English   中英

jQuery-根據clientWidth更改背景顏色

[英]jquery - chaning the background-color based on clientWidth

我是jQuery的新手,我想讓我的頁面使用jQuery更改其背景顏色。問題是顏色僅在刷新頁面時更改,而在放大和縮小時不會更改。

 $(document).ready(function(){ var ww = document.body.clientWidth; if(ww < 769){ $("body").css("background-color","yellow"); }else{ $("body").css("background-color","green"); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <body> hgfhfhg </body> 

為此使用CSS媒體查詢:

body{
    background-color: yellow;
}

@media (min-width: 769px){
    /* Styles here are only applied when the width
       of the window is more or equal to 769px */

    body{
        background-color: green;
    }
}

的jsfiddle

您的功能僅在頁面加載時檢查窗口大小。 它不會連續檢查。 如果您希望在調整大小時觸發一些操作,則可以使用以下命令:

$(window).on('resize', function(){
    //do stuff
});

值得一提的是,調整大小事件(以及滾動事件)在發生這種情況時會多次觸發,最佳實踐是在其上放上一個稱為反跳器的東西。 但是,如果使用CSS媒體查詢執行此操作,則一切將變得更加簡單。 在CSS中,您需要以下內容:

body{
      background-color:yellow;
}

@media screen and (max-width:769px){
   body{
      background-color:green;
   }
}

然后在HTML的開頭添加以下標記:

<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no' name='viewport'/>

現在調整大小后,背景應該會改變。

為此使用“調整大小”方法。 DOM准備就緒后,將調用“ ready”方法。

$( window ).resize(function() {
  var ww = document.body.clientWidth;
if(ww < 769){

    $("body").css("background-color","orange");

}else{
$("body").css("background-color","green");
}
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM