• Как выполнить функцию один раз?

    adrin13
    @adrin13
    front-end
    Автор видимо имел ввиду типичный случай, когда не вообще нужно только один раз использовать функцию при ресайзе, а когда эта функция должна отработать единожды при серии ресайзов, т.е при окончании грубо говоря этого события (потому как при ресайзе или скролле это события возникает в каждую единицу времени). Ну и повторно так же отрабатывать единожды при возобновлениии новой серии ресайзов.
    Потому как то, что написали вверху, сработает один раз и все на этом. На примере смена ориентации на мобильных, один раз при повороте отработает, при повторном повороте в обратное положение уже нет.
    Пример ниже, будет срабатывать идиножды всегда, в промежутке паузы заданном (500) аргументом
    var waitForFinalEvent = (function () {
      var timers = {};
      return function (callback, ms, uniqueId) {
        if (!uniqueId) {
          uniqueId = "Don't call this twice without a uniqueId";
        }
        if (timers[uniqueId]) {
          clearTimeout (timers[uniqueId]);
        }
        timers[uniqueId] = setTimeout(callback, ms);
      };
    })();
    $(window).resize(function () {
        waitForFinalEvent(function(){
          alert('Resize...');
          //...
        }, 500, "some unique string");
    });

    Источник: https://stackoverflow.com/questions/2854407/javasc...

    Или как-то так
    var isEvent = false;
    $( window ).on( 'resize', function() {
        if ( !isEvent ) {
            // this my code
            isEvent = true;
            setTimeout( function() {
                isEvent = false;
            }, 1000 );
        }
    } )
    Ответ написан
    1 комментарий
  • Как повторно инициализировать слайдер после его уничтожения?

    MrDecoy
    @MrDecoy
    Верставший фронтендер
    А Вы документацию читали?

    Destroy slider instance and detach all events listeners, where
    deleteInstance - boolean - Set it to false (by default it is true) to not to delete Swiper instance
    cleanStyles - boolean - Set it to true (by default it is true) and all custom styles will be removed from slides, wrapper and container. Useful if you need to destroy Swiper and to init again with new options or in different direction

    Передайте false в метод destroy.

    И как предложение: а что если не делать destroy, а в зависимости от размеров окна браузера делать init с разными настройками?
    Ответ написан
  • Легально ли делать подобные сайты, какие будут последствия?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Вот напишу я вам, что это абсолютно легально и вы мне поверите, а потом к вам вдруг придут злые дяди по поводу этого сайта и... что вы им скажете? Вот мне в интернете точно преточно сказали что так можно делать?

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

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Потому что на архивной странице уже есть глобальный запрос записей, новый WP_Query() вызывать не нужно. Откройте любую тему twenty и посмотрите как должен выглядеть шаблон archive.php, а эту отсебятину можно смело удалить
    Ответ написан
    Комментировать