防止$(窗口).on('滚动功能)从触发直到.click函数之后

时间:2016-07-21 16:28:07

标签: javascript jquery pagination

我不希望$(window).on('scroll', function() {}$('#load_more_photos').on('click', function() {}运行之后才开始。我希望实现类似Instagram的分页,从点击按钮开始并转换为滚动分页。另外,我想添加一个时间转换,以便每个分页需要1500毫秒,现在我觉得照片在滚动时加载得太快而且很尴尬。

$(document).on('page:change', function () {
  if($('#infinite-scrolling').size() > 0) {
    $('.pagination').hide();
    $('#load_more_photos').show();
    $('#load_more_photos').on('click', function() {
      var url = $('.pagination .next_page a').attr('href');
      $.getScript(url);
      $('#load_more_photos').hide();   
    });  
    $(window).on('scroll', function() {
        var url = $('.pagination .next_page a').attr('href')
        if($(window).scrollTop() > $(document).height() - $(window).height() - 60 && $.active == 0) {
        $.getScript(url);
        }
    });
  }
});

编辑:我尝试在下面添加一个布尔值,但它不起作用,点击功能根本不起作用。

$(document).on('page:change', function () {
  var clicked_yet;
  clicked_yet = true;  
  if($('#infinite-scrolling').size() > 0) {
    $('.pagination').hide();
    $('#load_more_photos').show();
    $('#load_more_photos').on('click', function() {
      var url = $('.pagination .next_page a').attr('href');
      $.getScript(url);
      $('#load_more_photos').hide();
      clicked_yet = false;
    });  
    if (!clicked_yet) {
    $(window).on('scroll', function() {
        var url = $('.pagination .next_page a').attr('href')
        if($(window).scrollTop() > $(document).height() - $(window).height() - 60 && $.active == 0) {
        $.getScript(url);
        }
    });
    }
  }  
});

1 个答案:

答案 0 :(得分:1)

我在回滚代码后得到了这段代码。之前的代码中某处可能存在css问题。它现在按预期工作。

$(document).on('page:change', function () {
  if($('#infinite-scrolling').size() > 0) {
    $('.pagination').hide();
    $('#load_more_photos').show();
    $('#load_more_photos').on('click', function() {
      var url = $('.pagination .next_page a').attr('href');
      $.getScript(url);
      $('#load_more_photos').hide();   
      $(window).on('scroll', function() {
        var url = $('.pagination .next_page a').attr('href')
        if($(window).scrollTop() > $(document).height() - $(window).height() - 60 && $.active == 0) {
        $.getScript(url);
        }
    });
    });  
  }
});