<li>
1分以上経過している要素を削除しようとしています。それぞれに属性を持つ要素が<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
});
<li>
JSで要素を動的に削除する必要があるため、これは問題です。Date().getTime()
ブラウザ/システムに基づいているので。created_at
サーバーからレンダリングされた値を処理する場合は、少し一貫性がありません。
これを機能させる方法はありますか?