2016-09-16 72 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();    
    }) 

})