-
Posts
784 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Calendar
Store
Everything posted by d0ublezer0
-
Оказалось всё воообще проще некуда
-
Привет! Попалась мне в руки новая версия fontawesome и возник ступор Теперь всё делается через JS и SVG, что круто, конечно, но как этим управлять на лету? Раньше, в четвертой версии, можно было создавать псевдоэлементы к объектам на странице и было счастье. менял content: "\f07a"; /* cart icon */ на content: "\f00c"; /* check mark */ И всё, при нажатии на кнопку иконка корзины менялась на галочку. А в SVG как подмену делать? Создавать сразу два элемента и скрывать ненужный?
-
Под картинки, да. Это будут блоки разделов на главной
-
Это вообще возможно? Мои попытки родили такую конструкцию, но она не работает, как и ожидалось: <div class="row"> <div class="col-md-9"> <div class="row"> <div class="col-md-3"></div> <!--тут уже не выходит - размеры считаются по родителю--> <div class="col-md-9"></div> </div> <div class="row"> <div class="col-md-9"></div> <div class="col-md-3"></div> </div> </div> <div class="col-md-3"> <div class="row"></div> <!--Вот это должно быть половину высоты--> <div class="row"></div> </div> </div>
-
Привет! Нужен совет знатоков Я полдня убил, но так и не нашел в чем проблема. На малых разрешениях карусель распирает страницу в ширину https://www.road.media/headunit $('#category-slider').owlCarousel({ nav: true, rewind: false, dots: false, items: 1, responsive: { 0: {items: 3}, 480: {items: 4}, 768: {items: 5}, 1024: {items: 8} }, responsiveBaseElement: "#category-slider-wrapper" }); Вот вроде ж все правильно сделал, но на малых экранах ширина родителя зашкаливает. Где я тупанул?
-
Событие на динамически созданных элементах?
d0ublezer0 replied to d0ublezer0's question in JavaScript
Не, так вообще не работает -
Событие на динамически созданных элементах?
d0ublezer0 replied to d0ublezer0's question in JavaScript
Ну вот и нет. При открытии новой страницы (если это действительно переход был, а не подмена адреса) должна загрузиться заново и обвязка шаблона со скриптами. А это не происходит. -
Событие на динамически созданных элементах?
d0ublezer0 replied to d0ublezer0's question in JavaScript
Ох, блин. Только заметил. При изменении фильтра же меняется и адресная строка. -
Событие на динамически созданных элементах?
d0ublezer0 replied to d0ublezer0's question in JavaScript
Верно. Именно для этого в jQuery придуман .on но в моём случае почему-то не работает, хотя делегируется вроде верно: $j('body').on("click", ".ask-product", function (e) { /* .... */ }); -
Событие на динамически созданных элементах?
d0ublezer0 replied to d0ublezer0's question in JavaScript
Ну всё правильно, из этого объекта я забираю код товара и на основании его строю дальнейшие обращения к элементам, содержащим это код. Что вас смутило? -
Событие на динамически созданных элементах?
d0ublezer0 replied to d0ublezer0's question in JavaScript
Итак, 1. вынес загрузку живосайта самым первым, вместе с jquery в самое начало страницы, всё равно они асинхронно грузятся же. 2. кнопки запроса скрыл до выполнения jivo_onLoadCallback, которая добавляет странице класс .jivo-ready, а дальше уже css раскрытие через стили 3. чтобы люди не терялись, после клика теперь скрываю кнопку запроса и показываю В общем, у живосайта есть проблема - конфликтуют настроенные в админке события с событиями API об этом многие пишут Но ни одно решение не подходит, т.к. базовые настройки не позволяют привязать действия к событиям страницы. Я тоже так считаю, но на стороне живосайта проверить эту гипотезу не могу С задержкой вроде разобрались костылём. А как быть с динамическими элементами? по идее, должно ж работать, а не хочет -
Привет, друзья! Возникла Есть у нас онлайн-консультант jivosite, у него есть API. Возникла задача через API запрашивать цену для товаров, которых нет в наличии. Но документации по "живосайту" мало, а техподдержка ничего вразумительного мне не ответила. Так вот, первая беда: динамические элементы На странице категории при выборе фильтра в левой части страницы, товары подгружаются AJAXом. И вот после этой подгрузки, обработчики из кода ниже перестают работать. Хотя я использую .on как написано в документации jquery собственно, вот универсальный код (я его сделал и для категории и для страницы товара), который всем заведует: var $j = jQuery.noConflict(); // создадим указатель для совместимости с другими скриптами function jivo_onLoadCallback() { // встроенная ункция jivosite, подтверждающаяя его готовность console.log("jivo ready"); $j(document).ready(function () { // ждем загрузки документа $j('body').on("click", ".ask-product", function (e) { // не работает после динамической подгрузки e.preventDefault(); $ask_product_id = $j(this).data("product-id"); // достаем идентификатор товара $ask_base = $j("#product_name_" + $ask_product_id); // находим базовый элемент с данными о товаре $product_name = $ask_base.text(); // забираем название товара $product_keycode = atob($ask_base.data("keycode")); // base64 кодированная строка с кодом товара для админа console.log("$product_url=" + $product_url); console.log("$product_name=" + $product_name); jivo_api.showProactiveInvitation("Здравствуйте! Минутку, уточняем для вас цену и наличие " + $product_name + "..."); jivo_api.sendMessage({name: 'Запрос цены'}, $product_name + " " + $product_keycode); jivo_api.open(); }); }); }; Вторая беда: пока не загрузился код живосайта, я не могу к нему обращаться, ок, будем ждать его используя встроенную функцию. попутно, нужно дождаться загрузки основного документа и уже потом навешивать обработчики событий. Это работает всё крайне медленно и посетитель видит активную кнопку запроса на странице товара раньше, чем код будет готов исполняться. Кликает раньше и ничего не получает естественно. А страница почему-то перезагружается. Как это исправить?
-
Почему placeholder становится текстом при фокусе?
d0ublezer0 replied to d0ublezer0's question in JavaScript
Спасибо ребятки! Это не мой скрипт, для меня его поведение было не очевидно. -
https://www.zebra-tara.ru/catalogue/plastic-boxes На разрешениях меньше 480px в ширину я скрываю строку поиска и отображаю ее по клику на иконке лупы. Заботясь о пользователе, я сразу ставлю фокус в поле ввода. Но вот беда: при программной установке фокуса placeholder внезапно становится текстом. А если программно фокус в поле не ставить, а после появления поля ткнуть в него руками - то всё в порядке, placeholder на месте: Я не понимаю, почему так. Отследить в коде не смог, ничего явно не устанавливает значение. Посоветуйте?
-
Блин. Спасибо! Как просто-то. А я хотел с его помощью добиться плавного появления из-за границы экрана.
-
Использую http://leafo.net/sticky-kit/ К верхней границе прилипает блок с названием продукта https://www.road.media/headunit/volvo/993570 Но при дальнейшем скролле такое ощущение, что он пересоздаётся каждый раз. А когда докручиваю до конца страницы, то вообще большой кусок пустого места появляется. Что самое интересное, работало же.. Не пойму никак, где я намудрил? Вот мой код, который управляет "наклейкой" из файла mainscript.js var $j = jQuery.noConflict(); $jwindow = $j(window); $j(document).ready(function () { $sticker = $j("#product_sticker"); if ($sticker.length) { var stickDistance = $sticker.offset().top + $sticker.height() + 30; $jwindow.scroll(flyOut); function flyOut() { var currentScroll = $jwindow.scrollTop(); if (currentScroll > stickDistance && $jwindow.width() >= 768) { $sticker.stick_in_parent(); } else { $sticker.trigger("sticky_kit:detach"); } }; function checkStickWidth() { var windowsize = $jwindow.width(); if (windowsize < 768) $sticker.trigger("sticky_kit:detach"); } checkStickWidth(); // Bind event listener $jwindow.resize(checkStickWidth); } });
-
Использовал скрипт меню https://tympanus.net/Development/MultiLevelPushMenu/ для своего сайта https://www.zebra-tara.ru/ Меню доступно только на разрешениях меньше 768 по ширине Получается, что тень от меню не перекрывает сдвигаемый слой, а точнее - абсолютно позиционированные элементы на нём. Посоветуйте, как исправить? Я пробовал давать больший индекс тени, но тогда она перекрывает последующие уровни меню
-
да, действительно. но почему? ведь это свойство для табличных ячеек как правило используется и в блочной модели не работает
-
не пойму никак, откуда берется отступ в шапке, где блок с телефоном? https://www.road.media/ Про верстку ничего не говорите, пока приходится работать с тем, что есть ?
-
Привет! Хочу зафигачить ЧПУ для страниц, генерируемых фильтром. Ленивый разработчик (breakdesigns, привет!) ноет, что это мол ему лично это не нужно, писать роутер и вообще никому из его клиентов это не интересно. Хочу свой, с параметрами и разделами. Допустим, страница https://www.road.media/filter/avtomagnitoly/?custom_f_24[0]=424d57&custom_f_25[0]=5831 где custom_f_24[0]=424d57 это марка авто BMW а custom_f_25[0]=5831 это модель авто X1 custom_f_xxx - это фиксированные коды характеристик, участвующих в фильтрации 424d57, 5831 и другие - это сами значения. Характеристики я смогу достать в список для формирования htaccess Сами значения элементов фильтра тоже подчиняются алгоритму, я могу их обратно расшифровать и сформировать список. Т.е. матрицу сопоставления что чему равно - я смогу собрать. Вопрос - как это сделать в .htaccess, чтобы CMS продолжила работать штатно, а посетитель и поисковик видели нормальный ЧПУ? Указанную выше ссылку я представляю как: https://www.road.media/filter/avtomagnitoly/bmw/x1 Притом, могут быть более сложные варианты https://www.road.media/filter/avtomagnitoly/?custom_f_24[0]=424d57&custom_f_25[0]=5831&custom_f_25[1]=5835 тут отмечены BMW, X1 и X5 в таком случае думаю URL должен быть каким-то таким https://www.road.media/filter/avtomagnitoly/bmw/x1_x5 Марка тоже может быть не единичной. Вообще набор значений может быть разным: https://www.road.media/filter/avtomagnitoly/?custom_f_24[0]=4d657263656465732d42656e7a&custom_f_24[1]=4c616e6420526f766572 тут например 4d657263656465732d42656e7a = Mercedes-Benz 4c616e6420526f766572 = Land Rover Соответственно, ожидается ссылка вида https://www.road.media/filter/avtomagnitoly/land_rover_mercedes_benz Это возможно вообще?
-
на флексах сделал
-
https://www.zebra-tara.ru при малом размере экрана съезжает вниз тестовое поле поиска, не смог найти, что на него влияет: http://prntscr.com/ix6bgw почему так?
-
Как обойти прокрутку к элементу при копировании со страницы в мобильном?
d0ublezer0 replied to d0ublezer0's question in JavaScript
Аееее! Так работает $j('<textarea>').appendTo("#legal-copy").val(text).attr('readonly','readonly').select(); -
Как обойти прокрутку к элементу при копировании со страницы в мобильном?
d0ublezer0 replied to d0ublezer0's question in JavaScript
Да, спасибо, так работает. Но на мобиле все равно успевает появиться небольшой паразитный скачок, и устройство пытается успеть показать виртуальную клавиатуру. Напрямую из слоя скопировать нельзя ведь? Только через промежуточное поле? -
Как обойти прокрутку к элементу при копировании со страницы в мобильном?
d0ublezer0 posted a question in JavaScript
Привет! https://www.zebra-tara.ru/about Внизу есть кнопка [Cкопировать], на неё навешен такой код: var $j = jQuery.noConflict(); $j("#legal-copy").on("click", function (e) { var text = $j("#legal-info").text().trim(); var $scroll = $j("window").scrollTop(); var temp_element = $j('<textarea>').appendTo("#legal-copy").val(text).select(); $j("window").scrollTop($scroll); document.execCommand('copy'); temp_element.remove(); $j(this).text("Скопировано").prepend("<i class='fa fa-check-circle'></i> ").addClass("green-btn"); }); Как ни бьюсь - не удается избавиться от прокручивания к создаваемому элементу textarea в мобильном браузере. Он получает :focus и мобильный браузер прокручивает страницу. Добавка ScrollTop мне не помогла Как выкрутиться?