سؤال

كنت أتساءل عما إذا كان يمكن لأي شخص أن يوجهني في اتجاه الأمثلة أو عينة رمز لبعض الأشياء المتعلقة بمعالجة الجدول التي أحاول تحقيقها ولكن لم أتمكن من التصدع بعد.

لدي حاليا جدول من البيانات التي يتم فرزها وعرضها باستخدام Tablesorter البرنامج المساعد ل jQuery.

أود إضافة هذه الأجزاء الإضافية من الوظائف

  1. قم بتحديث الجدول تلقائيًا كل بضع ثوان مع أي بيانات جديدة (دون تحديث الصفحة) والحفاظ على الفرز. يمكنني إنشاء البرنامج النصي PHP لإخراج JSON للحصول على بيانات جديدة ، لكن بطريقة ما سأحتاج إلى إرسال معرف الصف الأخير المعروض (حتى أتمكن من معرفة الصفوف الجديدة التي يجب عرضها)
  2. بمجرد إضافة صف جديد (من الناحية المثالية مع انتقال سلس مثل التلاشي) ، سيكون لديه فئة CSS من "جديد" أو شيء يمنحه لونًا جديدًا
  3. سوف يتلاشى اللون الجديد إلى نمط الجدول العادي (إزالة الفصل) في غضون 15 ثانية من الصفحة التي تحافظ على التركيز
  4. إذا لم يكن للصفحة تركيز وكانت هناك بيانات جديدة (أي تحديث في الخلفية ولكن المستخدم ينظر إلى نافذة/علامة تبويب أخرى) ، فإنه ينتظر حتى يركز المستخدم على النافذة/علامة التبويب ثم يقوم بتنفيذ التلاشي إلى لون عادي كما هو موضح في 3.

آمل أن يكون هذا واضحًا ، الجزء الذي أشك في أكثر من غيره هو النقطة 4 مع مشكلة التركيز ، لكنني أعتقد أن Facebook يبدو أنه يقوم بذلك من خلال خلاصة الأخبار الحية. لا يبدو أنه يتم تحديثه حتى أحصل على النافذة في التركيز (أو هكذا أفترض)

أي مساعدة وتوجيه سيكون موضع تقدير كبير!

طاولتي في هذا النموذج:

<table class="tablesorter" cellspacing="1"> 
    <thead> 
    <tr> 
        <th>ID</th> 
        <th>lid</th> 
        <th>Time</th> 
        <th>Season</th> 
        <th>Keyword</th> 
        <th>Campaign</th> 
        <th>IP</th>         
    </tr> 
    </thead> 
    <tbody> 
        <tr> 
            <td class="id">6875</td> 
            <td class="lid">-----</td> 
            <td class="time">28 Nov 09 16:35:24</td> 
            <td class="season">xxx xxx</td> 
            <td class="keyword">xx xx xxxx</td> 
            <td class="campaign">xxx</td> 
            <td class="ip">xx.xx.xx.xx</td> 
        </tr>
    <tbody> 
<table>
هل كانت مفيدة؟

المحلول

1: لتشغيل حدث كل بضع ثوانٍ في جافا سكريبت ، استخدم setTimeout(). استخدم ال :last تصفية لمساعدتك في الحصول على هذا الصف الأخير. قم بتخزين المعرف في حقل الإدخال المخفي داخل الصف الأخير.

2: آخر مرة حاولت ، تلاشي وتدحرج لم تنجح بشكل جيد في صفوف المائدة. اضطررت إلى إنشاء اختراقات قبيحة حقًا للحصول على هذه الوظيفة للعمل مثل إنشاء جديد تمامًا <table> لكل صف. ربما تحسنت الأمور في الإصدارات الحديثة من jQuery؟ الدفع تأثيرات للحصول على قائمة بالطرق التي يمكنك تحريك المحتوى الخاص بك.

3: يمكنك تنفيذ هذا باستخدام عمليات الاسترجاعات تمامًا كما هو الحال مع التلاشي والتخطي والتأثيرات الأخرى.

4: ليس لدي خبرة في اكتشاف تركيز النوافذ ، على الرغم من أنه يبدو أن هناك موارد يمكن أن تساعدك في ذلك. هنا زوجان:http://www.webdeveloper.com/forum/archive/index.php/t-33457.html http://www.thefutureoftheweb.com/blog/detect-browser-window-focus

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