Обновление блока на ajax

Doctor_Chaos

Проктолог-гинеколог
Регистрация
7 Сен 2013
Сообщения
949
Реакции
723
Нужно было реализовать обновление блока с помощью ajax jquery. Нагуглил решение на setinterval, но оно нещадно выедало память, тогда нашел такое решение:
<script> function show() { $.ajax({ url: "/script.php", cache: false, success: function(html){ $("#new").html(html); $('#liquid1').liquidcarousel({width:800, height:100, duration:100, hidearrows:false}); setTimeout(show,1000);} });} $(function() {
show();
}); </script>
В итоге сжирает памяти заметно меньше, но все-таки сжирает - минут через 5 браузер все-таки начинает подвисать. Возможно как-то решить эту проблему вообще?
 
Код:
function show() {
    $.ajax({ url: "/script.php",
            cache: false,
            success: function(html){
                $("#new").html(html);
                $('#liquid1').liquidcarousel({width:800, height:100, duration:100, hidearrows:false});
                setTimeout(show,1000);
            }
    });
}
$(function(){
    show();
});
Не могу понять что имено у Вас жрет эту память
постоянный перезапуск функции или то что Вы запускаете liquidcarousel какую то там карусель
и вообще из приведенного Вами кода не ясно $('#liquid1') входит в получаемый от сервера ответ, т.е в блок $("#new").html(html); или нет
 
Да, выжирала карусель память, разобрался уже сам. Теперь другая проблема - этот код не работает в IE
 
ну тут я Вам точно не помогу, если Вы не если не дадите ссылку на Ваш сайт
 
Да браузер реально тормазит
Не могу понять смысл Ваших действий зачем Вы каждую сек
спрашиваете браузер и получаете один и тот же ответ
Верхняя галерия та что в блоке liquid1 вообще статичная, т.е не имеет возможности прокрутки
В ИЕ 10 работает, ниже нет
но это может быть связано с тем что Вы используете Jquery 1.10 в этом есть реальная необходимость или 1.8.3 будет достаточно
да вижу что Вы там используете и мигратор, но я для тех проектов которые требуют поддержки старых ие пока не решаюсь использовать версию 1.10
 
Да браузер реально тормазит
Не могу понять смысл Ваших действий зачем Вы каждую сек
спрашиваете браузер и получаете один и тот же ответ
При добавлении новых фото они там отображаются. Для этого и делалось.
 
хорошо ладно для отображения новых фоток
ну а виджет галлерии зачем Вам там нужен
$('#liquid1').liquidcarousel
на этом блоке новых изображений,
не проще просто добавлять новые изображения в конец списка а не присылать каждый раз
HTML:
<table width="400" border="0" cellspacing="5" cellpadding="0">
                    <tr valign="top">
                      <td width="4%"></td>
                      <td width="96%"><table width="70%" border="0" cellspacing="3" cellpadding="0">
                          <tr>

          <td height="30" class="headtext">Новые фото</td>
                          </tr>
                          <tr>

          <td valign="top"><table width="400" border="0">
                  <tr>
                <td>


<table width="400" border="0" cellspacing="3" cellpadding="0" id="menu">
<div id="liquid1" class="liquid"  >
                    <div class="wrapper" style="height:110px;"><center><p><a href="/277211030" ><img style="margin:5px; margin-right:25px; width: 100px; border:0; position: relative;" src="/new_entry/277211030.jpeg" border=0 alt="Фотографии / Без категории" title="Фотографии / Без категории" ></a> <a href="/277206l30" ><img style="margin:5px; margin-right:25px; width: 100px; border:0; position: relative;" src="/new_entry/277206l30.jpeg" border=0 alt="Фотографии / С веб-камеры" title="Фотографии / С веб-камеры" ></a> <a href="/277193g30" ><img style="margin:5px; margin-right:25px; width: 100px; border:0; position: relative;" src="/new_entry/277193g30.jpeg" border=0 alt="Фотографии / С веб-камеры" title="Фотографии / С веб-камеры" ></a> <a href="/277184s30" ><img style="margin:5px; margin-right:25px; width: 100px; border:0; position: relative;" src="/new_entry/277184s30.jpeg" border=0 alt="Фотографии / С веб-камеры" title="Фотографии / С веб-камеры" ></a> <a href="/27717be30" ><img style="margin:5px; margin-right:25px; width: 100px; border:0; position: relative;" src="/new_entry/27717be30.jpeg" border=0 alt="Фотографии / С веб-камеры" title="Фотографии / С веб-камеры" ></a> </p></center></div></div>

                  </table>

</td>
              </tr>
т.е шлите не все эту лабуду с полным кодом Вашей галлерии а только пути к вновь добавленным изображениям и потом заменяйте ими пути в картиках слева или справа что б там показывались новые фото
И мой Вам совет не используйте jquery 1.10 если в этом действительно нет необходимости, не знаю может и не сильно правильно но я Вам уже писал что я б его не стал использовать для проектов у которых есть не необходимость поддержки старых браузеров.
 
Последнее редактирование:
Назад
Сверху