Ответы пользователя по тегу JavaScript
  • Почему при перезагрузке страницы не выполняется условие скрипта?

    Хорошо, когда есть на что посмотреть velikorodnov.com/wordpress/flatastic/classic

    Теперь все ясно. Ты забыл указать, что твой элемент .remove-item это ссылка. Это меняет все. Переход по ссылке происходит раньше, чем обрабатывается твой обработчик события. Это можно предотвратить, передав колбеку объект события и обратиться к ее методу

    $(".remove-item").click(function(e) {
      e.preventDefault();
      if ($(".fixed-bottom .cart_list li").hasClass("empty")) {
        $(".fixed-bottom").hide();
      } else {
        $('#foot-carousel').data('owlCarousel').removeItem($(this));
        $(".fixed-bottom").show();
      };
    });

    Перезагрузка страницы не произойдет и твои условия будут выполнены, но тогда твой сервер не узнает, что товар был удален из корзины, потому что сейчас эти данные передаются на бекенд именно через перезагрузку страницы. Тогда тебе придется исполнять этот запрос самостоятельно, через ajax, передавая те параметры, которые прописаны в ссылке.

    Дополнение
    Если элементы, на которые вы добавлили обработчик событий появляются на странице динамически, то есть в результате работы других скриптов, то ваш обработчик на них не сработает.

    В таких случаях нужно использовать делегирование

    $('родитель-элементов-который-точно-есть-на-странице').on(
    'click', 
    '.remove-item', 
    function(e) { /*...далее по списку... */ });


    Без этого ваш обработчик вообще никогда не запускается, чтобы мы внутри него не прописали.
    Ответ написан
    22 комментария
  • Как пропарсить сторонний сайт?

    Не нужно этого делать средствами клиентского js.
    Во-первых, вы столкнетесь с ограничением запросов к стороннему сайту. Нельзя делать запросы к доменам отличным от того домена, с которого был загружен скрипт. Даже если есть способы обойти это ограничение, то в этом нет никакого практического смысла.
    Во-вторых, такая реализация не позволила бы делать запрос, например, раз в сутки и быстро раздавать закешированный результат всем посетителям.

    Дергайте нужный сайт с бекенда, сохраняйте в подходящем формате и подгружайте на странцу любым удобным вам образом.
    Ответ написан
  • FadeIn и fadeOut при переходе по якорю?

    Посмотри вот это https://github.com/cferdinandi/smooth-scroll, сама библиотека работает надежно.

    При инициации, кроме всего прочего принимает два параметра callbackBefore и callbackAfter. В первый передаешь функцию, которая скрывает все что ты хочешь скрыть, а второй — функцию которая все возвращает.
    Ответ написан
    Комментировать