javascript - JQuery - 从一个点循环遍历类的每个案例

标签 javascript jquery ajax jquery.visible

我正在创建一个自动滚动、自动更新的表格,并且需要从某个点搜索类的元素。 我目前的代码是这样的:

var nextScroll;
setInterval(function() {
  if ($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
    $('.seen').removeClass('seen');
    $('html, body').animate({
      scrollTop: 0
    }, 2000);
  } else {
    $('.job-item:not(.seen)').each(function() {
      var visible = $(this).visible();
      if (!visible) {
        nextScroll = $(this).offset().top;
        $(this).addClass("current-scroll");
        return false;
      } else {
        $(this).addClass('seen');
      }
    });
    $('html, body').animate({
      scrollTop: nextScroll
    }, 2000);
  }
}, 7000);

setInterval(function() {
  $.ajax({
    type: 'POST',
    url: 'dashboard-table.php',
    success: function(msg) {
      $("#table-container").html(msg);
      console.log("loaded");
    }
  });
}, 5000);

它基本上使用 jquery.visible 插件向下滚动到下一个未完全显示在屏幕上的 .job-item。问题是,当页面通过ajax更新时,“seen”元素会丢失seen类,这意味着我想存储最后可见的元素并从那里搜索行。

除非有人有任何替代方案,我们将不胜感激。

fiddle :http://jsfiddle.net/yn4wxsej/

最佳答案

您可以使用看到的帖子 id 填充看到的数组(或 jQuery 数据或本地存储),然后当您获取数据时,将看到的类应用到看到的元素,例如,但重要的是您的行具有唯一的 id 或属性.

出于演示目的,我使用了假设的行 ID,但它可以是任何内容。

代码:

var seen=[];

在你的setTimeout函数中:

$(this).addClass('seen');
if(seen.indexOf($(this).id) == -1){
   seen.push($(this).id);
}

在你的成功函数中:

success: function(msg) {
    $("#table-container").html(tabledata);
    $.each(seen, function(i,e){
        $('#'+e).addClass('seen');                            
    });
},

关于javascript - JQuery - 从一个点循环遍历类的每个案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32738863/

相关文章:

javascript - 使用我的插件无法通过所有 jQuery 1.4.2 Ajax 单元测试

javascript - PHP 脚本不等待 Ajax 和 jQuery document.ready

javascript - 如何在 Redux 中向数组添加项目?

javascript - 如何设计一个每秒都需要变化的 reducer ?

JavaScript Date.toString() 基数参数错误

jquery - 使用 CodeIgniter (Active Record) 从数据库自动完成

javascript - JQuery 验证 : how to place error messages inside the input's title attribute

javascript - 以表格格式显示来自 XML 和 JSON 的数据

javascript - 可扩展列表折叠隐藏 div 元素 (jQuery)

JQuery Ajax 请求无法在 iPhone 设备浏览器上运行