كيف يمكنني استخدام jQuery timeago للتحديث المباشر؟

StackOverflow https://stackoverflow.com/questions/5839720

  •  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/

هنا يكفي رمز الترميز العام.

لا تنس إضافة رمز العلامة العام ورمز العلامة العام قبل رمز الترقيم العام

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top