如何在屏幕调整大小后禁用jQuery函数

时间:2017-05-11 20:52:48

标签: javascript jquery

我试图在屏幕小于1000px后禁用此导航代码

for (EmployeeName r : list)
{
    if (r.getName().indexOf(textField.getText()) != -1)
    {
        System.out.println(r.getName() + " is similar");
    } 
} 

任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:1)

基于您的代码稍加修改,我会按如下方式执行此操作:

$(document).ready(function(){
  var scroll_start = 0;
  var startchange = $('body');
  var offset = startchange.offset();
  var doScrollStuff;

  $(window).resize(function(){
    doScrollStuff = $(window).width() >= 1000;
  }).resize();

  if (startchange.length){
    $(document).scroll(function() {
      if (doScrollStuff) {
        scroll_start = $(this).scrollTop() > 50;

        if(scroll_start > offset.top) {
          $("#nav").css('background-color', 'rgba(35,46,63,1)');
          $("#nav").css('box-shadow', '4px 0px 10px rgba(0,0,0,0.5)');
        } else {
           $('#nav').css('background-color', 'rgba(35,46,63,0)');
           $("#nav").css('box-shadow', '0px 0px 0px rgba(0,0,0,0)');
        }
      }
    });
  }
});

答案 1 :(得分:0)

使用onjQuery API绑定事件并使用特定名称以便以后轻松取消绑定。

$(document).on("scroll.Nav", function () {

然后,如果在function(){代码段的回调或其他代码段中遇到某些条件,只需使用

$(document).off("scroll.Nav");

答案 2 :(得分:0)

你可以试试这个:

var windowWidth = $(window);
windowWidth.on('resize', function(){
    if(window.innerWidth < 1000){
        //do something
    }
})

在// do something部分中,您可以在那里编写禁用功能。上面的代码将在屏幕调整大小并且小于1000px时执行内部函数。