gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:37:55 28 4
gpt4 key购买 nike

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

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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com