Маркировка запускается снова после того, как ajax изменяет элементы dom

#html #css #ajax

#HTML #css #ajax

Вопрос:

 <table>
    <tbody id="output">
    </tbody>
</table>

$(document).ready(function() {
    $.ajaxSetup({ cache: true });
    refreshDiv();
});

function refreshDiv()
{
    dataString = 'x=fetchData';
    $.ajax({
        type: "POST",
        url: "ajaxpage.php",
        data:dataString,
        dataType: 'json',
        success: function(result){
            $('#output').html(result.tabledata);
        },
        complete: function() {
            setTimeout(refreshDiv, 5000);
        }
    });
}
  

ajaxpage.php

 $str = '';
$data = fetchFromDatabase();
foreach ($data as $dd)
{
    $str .= '<tr><td>column1</td><td>column2</td><td><marquee>Marquee with some long text</marquee></td><tr>';
}
echo json_encode(array('tabledata' => $str));
exit();
  

Я заполняю текст таблицы выше, используя ajax каждые 5 секунд.
Одна из строк столбца содержит маркер. Поскольку тело таблицы обновляется каждые 5 секунд, маркировка запускается снова.

Есть ли какой-либо способ сохранить положение маркера в этом случае.

Комментарии:

1. Трудно визуализировать то, что вы описываете, поэтому, пожалуйста, отредактируйте свой вопрос и приложите полностью функциональный, поддающийся самоконтролю минимальный фрагмент вашего кода, чтобы мы сказали вам, что не так.

2. <marquee> устарело. Хотя он все еще может работать в некоторых браузерах, его использование не рекомендуется, поскольку он может быть удален в любое время. Старайтесь избегать его использования.

3. @Code_Ninja Я отредактировал свой вопрос

4. @FedeSc Хорошо, я буду использовать свой собственный css для перемещения текста. Но как сохранить последнюю позицию после того, как ajax заполнит таблицу

5. @JohnWick Вы каждый раз заменяете одни и те же строки?