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

    @Snow311
    1. У вас сохраняется margin-left на блоке, к примеру: 1000px. При след. нажатии у вас вычисляется новое рандомное значение и происходит анимация от старого значения (1000px) к новому, которое может быть как меньше предыдущего значения, так и больше. Поэтому у вас едет рулетка, то в одну строну, то в другую.

    2. Пробелы у вас, потому что вы используете display: inline-block;, лучше прочтите про это сами (между элементами есть пробельные символы, в вашем случае enter). Есть несколько решений (flex, font-size: 0; удаление пробельных символов и т.д.). Ваши пробелы не пропадают, они как были у первых 4-х карточек, так и остались. Вы скриптом клонируете их в рулетке, и уже при клонировании между ними не добавляются пробельные символы. Но при этом у первых 4-х эти символы остаются.
    Ответ написан
    Комментировать
  • Как вывести корзину в нескольких местах на сайте?

    @Snow311
    В вашем скрипте корзины найдите строчку:
    this.widjetObj = $("#" + widjetID);
    // Измените на это
    this.widjetObj = $("." + widjetID);


    В html вместо id установите class="basketwidjet" :
    <div class="cart">
        <div class="price"><a href="#" class="basketwidjet" onclick="cart.showWinow('bcontainer', 1)"></a></div>


    Если кратко: логику корзины не трогаем, но заставляем выводить одинаковый html в несколько корзин, а не одну.

    Саму логику корзины вы не правите, но изменением строки в js в widjetObj сохраняется не 1 блок c корзиной по id, a массив блоков (корзины). Т.к. используется jQuery, то конструкция вида widjetObj.html() будет обегать все корзины и в каждую рендрить одинаковое содержимое.
    Ответ написан
  • Почему js работает только на на строку с вводом "Имя" а на поле "Почта" не работает?

    @Snow311
    У вас тут опечатка:
    function emailTest(input) {
            return !/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,8})+$/.teest(input.value);
        }


    Используйте .test(), а не .teest()
    Ответ написан
    Комментировать