簡體   English   中英

為什么這個 jQuery 代碼只工作一次?

[英]Why does this jQuery code works only once?

我有這個簡短的 jQuery 代碼可以在調整窗口大小時使圖片消失。 由於某種原因,它消失后,就不會再出現。 這是代碼:

$(document).ready(function(){
    $(window).resize(function(){

        if($(window).width() < 700) {
            $("#side-pic").css("display","none");


        } else if($(window).width() >= 700){

            $("#side-pic").css("display","show");
        }

    });
    });

此外,如果您有機會知道是否有辦法讓我的代碼中的某個 div 下的圖片移動,我會很高興聽到它! 提前謝謝你們!

沒有顯示屬性,例如display: show 嘗試使用$("#side-pic").css("display","block"); 反而。

另一種選擇是隱藏/顯示:

$(document).ready(function(){
    $(window).resize(function(){

        if($(window).width() < 700) {
             $("#side-pic").hide();
        } 
        else if($(window).width() >= 700) {
             $("#side-pic").show();
        }

    });
});

那是因為"show"不是有效的display值。 https://developer.mozilla.org/en-US/docs/Web/CSS/display

另外,為什么else if else不夠好?
或者更確切地說是一個可重用的 CSS 類和 jQuery 的toggleClass()方法:

 jQuery( $ => { $(window).on('resize', function() { $("#side-pic").toggleClass("is-hidden", $(this).width() < 700); }); });
 .is-hidden {display: none;}
 <div id="side-pic">SIDE PIC</div> <script src="//code.jquery.com/jquery-3.1.0.js"></script>

您也可以編寫如下代碼

$(document).ready(function(){
    $(window).resize(function(){

        if($(window).width() < 700) {
            $("#side-pic").hide();


        } else if($(window).width() >= 700){

            $("#side-pic").show();
        }

    });
});

暫無
暫無

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

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