<li>
如果元素的存在时间超过一分钟,我将尝试删除它们。每个都<li>
包含一个<a>
具有data-created-at
属性的元素。该created_at
值存储在服务器端的数据库中。
当页面加载时,它会显示来自数据库的记录。
<ul id="foobar">
<% @foos.each do |foo| %>
<li><%= link_to 'Foobar', '#', :'data-created-at' => foo.created_at.to_i %></li>
<% end %>
</ul>
<li>
我的 JS 试图在删除元素之前比较系统(浏览器,而不是服务器)的时间:
$(document).ready(function(){
setInterval(function() {
$('#foobar a').each(function() {
if(new Date().getTime() - $(this).data('created-at') >= 60000) {
// It's been a minute
$(this).parents('li').fadeOut()
}
});
}, 10000); // 10 seconds
});
这是一个问题,因为我需要 JS 来动态删除任何<li>
元素。由于Date().getTime()
是基于浏览器/系统的。如果它处理created_at
从服务器呈现的值,这有点不一致。
有什么想法可以让它发挥作用吗?