簡體   English   中英

使用最小寬度條件調整瀏覽器大小

[英]Resizing browser with min width conditional

    var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;

    $(window).on("resize", function(){
        if(width < 767 ){
            console.log('narrow');
            $('.col-xs-6.col-sm-3.thumbnail.promo:eq(2)').css('margin-left', '0px');
        };
    });

以下代碼console.logs僅在瀏覽器小於767px時記錄消息,而不是在預期的767px以上時記錄消息。 但是當您調整瀏覽器大小時,似乎忽略了“width <767”。 如果您從小於767開始,它會在您調整大小時隨時記錄消息。 當它大於767px時,它從不記錄消息。 有沒有辦法讓resize觸發在寬度<767內運行的代碼?

你只計算一次寬度......你需要在每次調整窗口大小時重新計算它:

$(window).on("resize", function(){
    if($(window).width() < 767 ){
        console.log('narrow');
        $('.col-xs-6.col-sm-3.thumbnail.promo:eq(2)').css('margin-left', '0px');
    };
});

你需要在resize處理程序中移動計算

$(window).on("resize", function(){
    var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
    if(width < 767 ){
        console.log('narrow');
        $('.col-xs-6.col-sm-3.thumbnail.promo:eq(2)').css('margin-left', '0px');
    };
});

你不應該為此使用JavaScript。 你只能用CSS做到這一點:

@media (max-width: 766px) {
  .col-xs-6.col-sm-3.thumbnail.promo:eq(2) {
    margin-left: 0;
  }
}

暫無
暫無

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

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