作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个自动滚动、自动更新的表格,并且需要从某个点搜索类的元素。我目前的代码是这样的:
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/
我是一名优秀的程序员,十分优秀!