• Аккумулятор для macbook pro 15" 2010?

    Покупал себе на том же ибее. Аккум порадовал только первую неделю. Дальше умер и не стартует ни в какую.
    Ответ написан
    3 комментария
  • Большая нагрузка на браузер при вкл jquery?

    Mithgol
    @Mithgol
    Похоже, что в Вашем коде при каждом наведении (hover) загружается «Cloud Zoom» из Сети (getscript), что само по себе способно создать колоссальную нагрузку:
    $(document).ready(function(){
       $('#zoom1').hover(function(){
          $.getscript('js/cloud-zoom.1.0.2.min.js', function(){
             testAjax();
          });
       });
    });
    

    Уместно, по меньшей мере, переставить местами обработчики событий, чтобы сперва один раз загружался скрипт «Cloud Zoom», а затем (когда он пришёл) назначался обработчик наведения мыши на иллюстрацию (если $('#zoom1') является именно иллюстрацией):
    $(function(){
       $.getscript('js/cloud-zoom.1.0.2.min.js', function(){
          $('#zoom1').hover(function(){
             testAjax();
          });
       });
    });
    

    В скрипте «Cloud Zoom», судя по его коду, не предусмотрен собственный механизм для приостановки эффекта лупы. Вы, если искали такой механизм, можете попробовать отодрать обработчики событий от иллюстраций и галерей:
    $('.cloud-zoom, .cloud-zoom-gallery').unbind();
    

    После этого можно попробовать перезапускать эффект лупы тем способом, который в самóм плагине «Cloud Zoom» используется в самом начале кода:
    $('.cloud-zoom, .cloud-zoom-gallery').CloudZoom();
    

    Естественно, идеальная работа не гарантируется: это просто напрашивающийся «грязный трюк» («dirty hack»).

    Сразу скажу ещё, что «грязный трюк», может быть, и не нужен ещё: если достаточно того, чтобы плагин «Cloud Zoom» не начинал автоматически набрасываться на все имеющиеся картинки и галереи на странице (то есть скачивать чёртову уйму крупных иллюстраций), а начинал бы действовать только при наведении мыши на картинку, то хватит всего двух шагов.

    Во-первых, отредактируйте используемый код «Cloud Zoom», убрав оттуда автозапуск. В коде джаваскрипт автозапуска идёт в одну строку, но я для красоты напишу его в структурированном виде:
    $(document).ready(function () {
        $('.cloud-zoom, .cloud-zoom-gallery').CloudZoom()
    });
    


    Во-вторых, вместо убранного автозапуска следует вручную написать запуск, срабатывающий при наведении мыши на иллюстрацию или галерею:
    $('.cloud-zoom, .cloud-zoom-gallery').hover(function(){
       $(this).CloudZoom();
    });
    

    Если же окажется, что многократный запуск CloudZoom(), случающийся после каждого наведения мыши, создаёт неприятные эффекты, то можно пометить иллюстрации и галереи некоторой пометкою, и снимать её после запуска CloudZoom():
    $('.cloud-zoom, .cloud-zoom-gallery').addClass('CloudZoomNotRunning').hover(function(){
       var $this = $(this);
       if ($this.is('.CloudZoomNotRunning')){
          $this.CloudZoom().removeClass('CloudZoomNotRunning');
       };
    });
    

    Естественно, весь такой код, на .CloudZoom() основанный, следует запускать только после того, как код плагина «Cloud Zoom» ужé загружен getscript().

    Точно такую же цепочку .addClass(…).hover(…), несомненно, придётся по разу с нуля применять и на каждую такую новую иллюстрацию или галерею, которая добавлена на страницу AJAXом.
    Ответ написан
    1 комментарий