• Как сделать переключение вкладок на нативном js?

    Тоже нужно писать цикл для всех элементов в коллекции?

    Ага.

    Ну потом вам это может надоесть, тогда вы оформите все в виде функции (а то и объектами разбрасываться начнете) и потихоньку у вас это будет выливаться в очередную jQuery-подобную библиотеку.
    Ответ написан
    3 комментария
  • Как запустить setInterval снова при обнулении его через clearTimeout?

    @Camaro67
    Помог? - жми "Отметить решением"
    1. setInterval нужно останавливать с помощью clearInterval, а не clearTimeout.
    2. В setInterval/setTimeout нужно передавать функцию, а не код.
    function auto_play() {
    	var act = $('.controlNav > li.act');
    	act.next().trigger('click');
    }
    
    var autoPlay = setInterval( auto_play, 4000 );
    
    slider.hover(function(){
    	clearInterval(autoPlay);
    }, function(){
    	autoPlay = setInterval( auto_play, 4000 );
    });
    Ответ написан
    1 комментарий
  • Как узнать загрузилась ли картинка для просмотра в галерее?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    $('.spinner').show();
    
    $('img').on(
        'load',
        function() {
            $('.spinner').hide();
        }
    ).each(function (index, img) {
        if (img.complete)
        {
            $('.spinner').hide();
        }
    });


    Или вот за что я люблю CoffeeScript :)
    $('.spinner').show()
    $('img').on('load', -> $('.spinner').hide())
        .each((index, img) -> $('.spinner').hide() if img.complete)
    Ответ написан
    4 комментария
  • Насколько весомым является влияние знания регулярных выражений на трудоустройство PHP developer?

    Denormalization
    @Denormalization
    junior:
    /(.*)/
    middle:
    /[^a-c]+([y-z]+?)/
    senior:
    (?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*))*)?;\s*)
    Ответ написан
    5 комментариев
  • Сильно ли влияет производительность компьютера на скорость загрузки сайта?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Да, достаточно сильно.
    Возьмите Atom первых поколений, да попробуйте загрузить на нём любой сайт со сложным javascript-ом - увидите разницу (у меня выходило в 3 раза (в сравнении с athlon XP 3400+) на простеньком сайте с jquery).

    CSS сейчас тоже бывает дорого применять.
    Ответ написан
    Комментировать
  • Сильно ли влияет производительность компьютера на скорость загрузки сайта?

    @LiguidCool
    Есть скажем так минимальный порог, после которого скорость загрузки отходит на второй план, а производительность на первый.
    Проблема в том, что с каждым годом веб становится все более прожорливым. Страницы обвешивают кучей рюшей, препроцессров, шаблонизаторов итп. Тогда да, вся обработка ложится на ваш ПК. Но это сворее проблема (ИМХО) криворуких программистов. У меня например сейчас несколько окон хрома жрут почти гиг оперативы. Помнится пару лет назад 1-2 гига на компах были вполне неплохим объемом оперативы.
    Для мобильных устройств актуальна как раз скорость и стабильность канала передачи. Как правило под мобильные сайты хоть как-то стараются оптимизировать, а вот с каналом ничего не поделаешь.
    Думаю основная проблема тут в том, что рынок разработки дешевеет, нужно клепать больше сайтов за меньшее время. Нет времени писать качественно и оптимально. Фреймворки рулят.
    Ответ написан
    Комментировать
  • Сильно ли влияет производительность компьютера на скорость загрузки сайта?

    Jump
    @Jump
    Системный администратор со стажем.
    Сильно ли влияет производительность компьютера на скорость загрузки сайта?
    Разумеется влияет, и очень сильно. Какие могут быть противоречия?

    Скорость загрузки складывается из трех составляющих -
    • Скорость отдачи сервером
    • Скорость передачи по каналам связи.
    • Скорость обработки браузером и вывода на экран.

    Скорость загрузки на слабом компьютере зачастую в десятки раз медленнее при прочих равных.
    Особенно это заметно на современных страницах, когда вместо чистого форматированного текста с картинками загружается куча скриптов.

    Основные факторы влияющие на скорость загрузки на локальном компьютере - память, диск, процессор.
    Страницы отображаемые браузером хранятся в памяти - если памяти мало, перед загрузкой страницы нужно сбросить часть памяти в файл подкачки, а это куча времени.
    Обработка текста в соответствии со стилями, под размер экрана, выполнение скриптов, это все делается с помощью процессора, и опять же память нужна.
    Сохранение кэша, темпов, кукисов, работа с файлом подкачки - грузит диск.
    Ответ написан
    Комментировать
  • Сильно ли влияет производительность компьютера на скорость загрузки сайта?

    Igor-Maf
    @Igor-Maf
    Senior Front End developer
    Конечно. Элементарно на фронте, за исполнение js кода отвечает центральный процесс, за исполнение css графический. Оперативная память влияет на скорость загрузки. Чтобы более глубоко понять эти вещи необходимо поработать с web приложениями / сайтами под мобильные устройства
    Ответ написан
    Комментировать
  • Прозрачный треугольник DIV на картинке?

    MhMadHamster
    @MhMadHamster
    codepen.io/anon/pen/EjGOgO
    через skew
    Ответ написан
    Комментировать
  • Как вставить многострочный html через нативынй js?

    BuriK666
    @BuriK666
    Компьютерный псих
    Можно так.
    el.innerHTML += '....';
    но при этом будут пересозданы все имеющиеся элементы внутри el
    лучше
    function appendEl(parent, tag, html) {
      var el = document.createElement(tag);
      el.innerHTML = html;
      parent.appendChild(el);
    }
    appendEl(el, 'h4', inputTaskName.value);
    appendEl(el, 'div', taskPerformer.value);
    Ответ написан
    Комментировать
  • Почему функция mail не отправлеяет на GOOGLE и MAIL.RU сообщения?

    SilenceOfWinter
    @SilenceOfWinter Куратор тега PHP
    та еще зажигалка...
    Отправляет,но скорее всего они в спам уходят из-за контента или недостаточного кол-ва заголовков
    Ответ написан
    7 комментариев
  • Как выполнить функцию при скролле колесом мыши только 1 раз?

    Sanasol
    @Sanasol Куратор тега JavaScript
    нельзя просто так взять и загуглить ошибку
    var scrolled = false;

    scrolled = true;

    if(!scrolled)
    Ответ написан
    1 комментарий
  • Где грань авторского права в верстке?

    @AndreyMyagkov
    Вы что серьезно думаете, что даже если и нарушаете, то за 10 бачей вас вздернут?
    Нарушения нет, ибо в этой гомнотеме на гомнобутстрапе нет никакой ценности - это не новая технология, не научные изыскания, не музыка, не фото, это просто самый обыденный код, который делается за 3 часа.
    Ответ написан
    Комментировать
  • Какие книги есть где можно осуществить свои мечты в строение свое движка?

    Arris
    @Arris
    Сапиенсы учатся, играя.
    Написать свою CMS просто. Берешь и пишешь. А потом переписываешь. А потом еще раз. До просветления.
    Ответ написан
    Комментировать
  • Как заставить jQuery custom content scroller работать с textarea?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Потому что он не предназначен для этого, textarea это готовый компонент, встроенный в браузер, он отличается от простого <div>
    Могу посоветовать вместо <textarea> использовать <div contenteditable="true">, так будет работать.
    Ответ написан
    2 комментария
  • Как уменьшить кол-во ajax запросов?

    nonlux
    @nonlux
    Frontend
    1. Временный Кеш.
    При первом наведении на g.
    - Делаете запрос один раз.
    - Результат сохраняете в переменную (массив, объект).
    - Выводите подсказку
    При следующем наведении на g
    - Достаете данные
    - Выводите подсказку

    Профит 1 запрос на каждый g.

    2. Постоянный кеш.
    В этом случае часть данных можно сохранить в local storage.
    Например для постоянных пользователей можно сохранить редко изменяемые данные.

    3. Инклудим в приложение
    Часть данных можно отдавать сразу в приложение с загрузкой страницы.

    4. Объединение запросов
    Можно объедить все квартиры в коллекцию и отдавать одним ajax запросом.

    Backend
    Кеш никто не отменял.
    Необязательно на каждый плевок пользователя делать запрос к базе.
    Ответ написан
    1 комментарий
  • Как уменьшить кол-во ajax запросов?

    Feaxer
    @Feaxer
    Программист-фрилансер
    он маузовер {
    если апартментс_дата[id] существует, то информацию взять из апарментс_дата[id]
    иначе { аякс запрос на получение информации; сохранение полученной информацией в массив апартментс_дата с ключем id }
    }
    Ответ написан
    Комментировать
  • Как уменьшить кол-во ajax запросов?

    bigton
    @bigton
    Web-программист
    Почему бы все данные не хранить в json массиве который сразу будет находится в теле страницы? Даже если у вас 100 квартир и по каждой есть информация о площади и стоимости, такой подход гораздо удобнее, чем каждый раз дергать сервер чтобы запросить пару строк. Ну и во всех своих события просто читайте массив.
    Ответ написан
    Комментировать
  • Можно ли использовать абсолютное позиционирование для верстки layout'а?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Тут вопрос не в замедлении — с эти как раз у absolte всё в порядке, раз элемент не участвует в формировании нормального потока. Вопрос как раз в том, что все абсолютно позиционированные элементы не участвуют в формировании этого самого потока, и не влияют на остальные элементы.
    Ответ написан
    2 комментария