كيف يمكنني استخدام jQuery timeago للتحديث المباشر؟
-
27-10-2019 - |
سؤال
لدي قيمة 011-04-29T14:55:33.000Z
يتم دفع هذه القيمة إلى قالب jQuery.إستعملت زمن مضى لتحويل التاريخ إلى الوقت المنقضي ولكن بعد كتابته في القالب، لا توجد طريقة للتحديث مع مرور المزيد من الوقت.
كيف يمكنني تنفيذ شيء سيتم تحديثه تلقائيًا؟
المحلول
لنفترض أنك بدأت بهذا (من زمن مضى الصفحة الرئيسية):
<abbr class="timeago" title="2008-07-17T09:24:17Z">July 17, 2008</abbr>
الآن، سيقوم المكون الإضافي timeago بتغيير العنوان أثناء إعادة كتابة الأشياء.كل ما عليك فعله هو تتبع الطابع الزمني في مكان آخر، وإعادته إلى ملف title
السمة، وأعد تشغيل البرنامج المساعد.شيء من هذا القبيل:
<abbr
class="timeago"
title="2008-07-17T09:24:17Z"
data-ts="2008-07-17T09:24:17Z"
>July 17, 2008</abbr>
سوف يصبح هذا:
<abbr
class="timeago"
title="July 17, 2008"
data-ts="2008-07-17T09:24:17Z"
>2 years ago</abbr>
وعندما تريد تحديثه، فقط ضع data-ts
عودة في title
وأعد تشغيل البرنامج المساعد:
$('.timeago').each(function() {
var $this = $(this);
$this.attr('title', $this.data('ts'));
}).timeago();
إذا كنت تستخدم jQuery أقدم، فقد تحتاج إلى استخدامه $this.attr('data-ts')
بدلا من $this.data('ts')
.
نصائح أخرى
لقد جربت ما ورد أعلاه دون حظ ، ووجدت هذا.قد تكون مفيدة.
https://mattbradley.github.io/livestampjs/
هنا يكفي رمز الترميز العام.
لا تنس إضافة رمز العلامة العام ورمز العلامة العام قبل رمز الترقيم العام