以下の機能を実行するのが最善の方法だと思います。
- たとえば、HTML要素の属性からISO8601タイムスタンプを読み取ります
- 一定時間が経過していないか確認してください
- この時間が経過した場合はfunction()を実行します
この問題を解決する方法はいくつか考えられますが、どれも少し不器用で柔軟性を提供するのが難しいようです。これはリアルタイムで更新する必要はありませんが、jQueryとTimeAgoプラグイン(https://github.com/rmm5t/jquery-timeago)を使用しているので、更新できる可能性があります。
他の人がこれをやろうとした、あるいはやろうとしたと思いますが、決定的な答えは見たことがありません。
たとえば、次のHTMLがあります。
<abbr class="timeago" title="2012-12-11T17:00:00">~6 hours ago</abbr>
<span class="new">New!</span>
タイムスタンプがたとえば10分未満の場合は、この後に要素を挿入します。
私たちは私たちを始めるためにこのようなことをすることができます:
$('abbr.timeago').each(function() {
var timestamp = $(this).attr("title");
if (function to compare time?) {
$(this).insertAfter('<span class="new">New!</span>');
}
});
時間を比較するための最良の方法は何ですか?