2016-09-16 77 views
1

我試圖讓我的jquery只在屏幕大小爲移動時運行。現在當然,用css做這件事很容易,但出於某種原因,儘快用jquery檢測屏幕大小,它不起作用。任何人都知道我要去哪裏錯了嗎?僅在小屏幕上運行JQuery

<script src="JAVASCRIPT/jquery-3.1.0.min.js"></script> 
<script> 
    if ($(window).width() > 600) {  
    } 
    else { 
    $(".tbinputArea").focus(function() { 
     $("#footer").hide(); 
    }); 

    $(".tbinputArea").focusout(function() { 
     $("#footer").show(); 
    }); 
    } 
</script> 

回答

0

你可以嘗試這樣的:

var isMobileView = false; //global variable 

$(document).ready(function() { 

    function setScreenWidthFlag() { 
     var newWindowWidth = $(window).width(); 
     if ($(window).width() > 600) { 
      isMobileView = false; 
     } 
     else { 
      isMobileView = true; 
     } 
    } 

    $(".tbinputArea").focus(function() { 
     if(isMobileView) 
      $("#footer").hide(); 
    }); 

    $(".tbinputArea").focusout(function() { 
     if(isMobileView) 
      $("#footer").show(); 
    }); 

    setScreenWidthFlag(); 

    $(window).on("resize", function (e) { 
     setScreenWidthFlag(); 
    }); 
}); 
+0

這個得很完美,謝謝 –

+0

歡迎馬特...! – vijayP

+0

我有一個簡單的問題,是否有一種簡單的方法來延遲'$(「#footer」)。show();'我試過這個,但沒有奏效。 '$( 「#頁腳」)延遲(5000).show();' –

0

試試這個:

$(document).ready(function(){ 

    if ($(window).width() > 600) { 

       //Your code.... 
    } 


    $(".tbinputArea").on("focusin",function(){ 

     if($(window).width() <= 600) 

      $("#footer").hide();  

    }) 


    $(".tbinputArea").on("focusout",function(){ 

     if($(window).width() <= 600) 

      $("#footer").show();    
    }) 

})