Вопрос

Мне было интересно, может ли кто-нибудь указать мне в направлении примеров или примеров кода несколько вещей, касающихся манипулирования таблицами, которых я пытаюсь достичь, но пока не смог взломать.

В настоящее время у меня есть производимая таблица данных, которая сортируется и отображается с использованием плагина Tablesorter для Jquery.

Я хотел бы добавить эти дополнительные функциональные возможности.

<Ол>
  • Обновляйте таблицу автоматически каждые несколько секунд, добавляя новые данные (без обновления страницы), и продолжайте сортировку. Я могу создать сценарий PHP для вывода json для новых данных, но каким-то образом мне нужно будет отправить ему идентификатор последней отображаемой строки (чтобы я мог узнать, какие новые строки отображать)
  • После добавления новой строки (в идеале, с плавным переходом, например, затухания) класс css будет иметь вид " new " или что-то, что придаст ему новый цвет
  • Новый цвет затем исчезнет до обычного стиля таблицы (удалить класс) в течение 15 секунд после сохранения фокуса страницы
  • если страница не имеет фокуса и есть новые данные (то есть происходит обновление в фоновом режиме, но пользователь просматривает другое окно / вкладку), она ждет, пока пользователь не сфокусирует внимание на окне / вкладке, а затем выполняет переход к нормальный цвет, как описано в 3.
  • Я надеюсь, что это было ясно, часть, которую я немного скептически отношусь к большей части, - это пункт 4 с проблемой фокуса, но я думаю, что Facebook, кажется, делает это с их новостной лентой Live. Кажется, он не обновляется, пока у меня нет окна в фокусе (или я так полагаю)

    Любая помощь и рекомендации будут с благодарностью!

    Моя таблица в такой форме:

    <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: чтобы вызывать событие каждые несколько секунд в JavaScript, используйте setTimeout() . Используйте :last фильтр, чтобы помочь вам захватить последнюю строку. Сохраните идентификатор в скрытом поле ввода внутри последней строки.

    2: Последнее, что я пробовал, затухания и свертки не очень хорошо работали со строками таблицы. Мне пришлось создавать действительно уродливые хаки, чтобы заставить эту функциональность работать, например, создавать совершенно новые <table> для каждой строки. Может быть, что-то улучшилось в последних версиях jQuery? Ознакомьтесь с Effects списком способов анимировать контент.

    3: Вы можете реализовать это, используя обратные вызовы, как с затуханиями, свертками и другими эффектами.

    4: у меня нет опыта определения фокуса окна, хотя кажется, что есть ресурсы, которые могут помочь вам в этом. Вот пара: http://www.webdeveloper.com/forum/archive/ index.php / трет-33457.html http://www.thefutureoftheweb.com/blog/detect-browser-window- фокус

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top