Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jquery ajax - оооочень медленно :( (https://javascript.ru/forum/jquery/35295-jquery-ajax-oooochen-medlenno.html)

lolka84 06.02.2013 20:36

devote, благодарю, что обратили внимание, обязательно займусь оптимизацией.

devote 06.02.2013 20:42

вот еще банальный пример:
$(".loader").css("top",($(window).height()-$(".loader").height())/2 + $(window).scrollTop() + "px");
$(".loader").css("left",($(window).width()-$(".loader").width())/2 + $(window).scrollLeft() + "px");

меняем так:
var
    loader = $(".loader"), // лишь один раз заставляем jQuery искать элемент
    wnd = $(window); // лишь один раз заставляем jQuery искать элемент

loader
    .css("top",(wnd.height()-loader.height())/2 + wnd.scrollTop() + "px")
    .css("left",(wnd.width()-loader.width())/2 + wnd.scrollLeft() + "px");

Старайтесь как можно меньше делать вызовы функций к которым часто нужно обращаться.

lolka84 06.02.2013 20:46

Отлично, не знал, что так можно нужно :)

DjDiablo 06.02.2013 21:05

Цитата:

Что нужно сделать ? Что куда вписать ?
var timer= function (){
        var lastTime=new Date().getTime();
        return function(){
          var time=new Date().getTime();
          console.log('время > ', time-lastTime);
          lastTime=time;           
        }
      };

      var test=timer();
      alert('быстро выключи меня');
      test();


В консоле будет видно сколько работала функция alert.

Исследуй подобным образом время работы функции HTML.
test() при необходимости можно вызывать несколько раз, и замерить каждый интерисующий этап, но нас больше всего HTML() интересует.

меня вот эта шняга сбивает с толку, это запрос при открытии диалога.
<img width="100%" src="http://www.spbvet.org/2013.png"/>


жду замеров.

lolka84 06.02.2013 21:31

Если правильно понял куда пихать функцию, то:
1. Если вставить ее в php скрипт (т.е. после вывода таблицы идет раздел <script>, там пара функций), то время получается ~800
2. Если вставлять ее непосредственно в success: function(res) {}, то время получается ~500

Но самое главное, до меня дошло, откуда "подвисание" это берется. Только ногами сильно не пинайте..:) Это все стилизация селектов и ui datapicker. Получается в каждой строке по селекту и по календарю - из-за этой байды вся проблема :)

lolka84 06.02.2013 21:39

По ссылке обновил, можете убедиться, если интересно :)

devote 06.02.2013 22:39

уже быстрее работает.

lolka84 07.02.2013 06:49

Намного :)
Еще раз спасибо, узнал много нового.

win32s 10.11.2023 19:53

Немного на другую тему, но может кто подскажет.
Есть скрипт, который загружает файлы на сервер через AJAX. На локалхосте все работает, а в продакшне люди жалуются, что грузит например 1 файл из трех.

Как такое может быть и в какую сторону копать? Думаю на медленный интернет, но вроде это не играет роли? Разве AJAX разбивает данные на части?

Nexus 10.11.2023 20:05

win32s, тут без хрустального шара не подсказать, а свой я потерял, к сожалению.


Часовой пояс GMT +3, время: 18:40.