在页面加载时初始验证后验证if语句

时间:2015-12-03 20:42:28

标签: javascript jquery

如果满足两个条件,我正在使用if语句来执行元素的.load():

if (current_items <= {{total_hits}} && infinite_scroll != 'disabled') {
    $(window).scroll(function () {
        if ($(document).height() <= $(window).scrollTop() + $(window).height()) {
            var sort_by = $('#sort_by').val();

                if ($('input:checkbox:checked').val()) {
                    var category_filter = ""
                    $('input:checkbox:checked').each(function() {
                           category_filter += "\""+$(this).val()+"\","
                         });
                    category_filter = category_filter.substring(0, category_filter.length - 1);
                }else{
                    var category_filter = "all"
                }
            $.get('/search_ajax/{{query}}/'+sort_by+'/'+current_items+'/'+category_filter, function(data){
              $(data).appendTo("#container");
              current_items = $('[class="small-3 columns"]').length;
            });
        }
    });
  }

它适用于第一个条件,但现在我想基于第二个条件,即变量infinite_scroll来禁用/启用它。 此变量在加载时“启用”或“禁用”,然后正常工作。 问题是当我用另一个jquery调用更改值时,它不起作用。 我想if if在加载时被检查一次并且它没有被再次评估,这就是为什么它不起作用。 使用jquery调用后,变量确实会改变值。

有关如何查看错误或使用其他方法的任何想法?

谢谢, 艾萨克

1 个答案:

答案 0 :(得分:1)

是的,if语句在页面加载后不会自动重新评估,但您可以通过在函数中包含上述代码并在每次更改{{ 1}}变量,这是解决方案:

infinite_scroll

现在,每次更改function changeSroll(current_items, infinite_scroll) { if (current_items <= {{total_hits}} && infinite_scroll != 'disabled') { $(window).scroll(function () { if ($(document).height() <= $(window).scrollTop() + $(window).height()) { var sort_by = $('#sort_by').val(); if ($('input:checkbox:checked').val()) { var category_filter = "" $('input:checkbox:checked').each(function() { category_filter += "\""+$(this).val()+"\"," }); category_filter = category_filter.substring(0, category_filter.length - 1); }else{ var category_filter = "all" } $.get('/search_ajax/{{query}}/'+sort_by+'/'+current_items+'/'+category_filter, function(data){ $(data).appendTo("#container"); current_items = $('[class="small-3 columns"]').length; }); } }); } } 变量时,请添加以下行:

infinite_scroll

希望这可以做你想做的事。