Скрытие элемента
Доброго времени суток!
В товаре есть кнопка "В корзину". При клике на данную кнопку кнопка переименовывается на "В корзине". Необходимо ниже данной кнопки добавить кнопку "Покупка в кредит" и чтобы при клике на данную кнопку не появлялась вторая кнопка "В корзине". На данный момент при клике на кнопку "Покупка в кредит" добавляется товар в корзину и данная кнопка меняется на надпись "В корзине", те. кнопка "В корзине" дублируется https://prnt.sc/qmu7n4 Код кнопки: <div class="row columnRow"> <a href="#" class="addCart addCartCredit changeID changeQty changeCart" data-id="<?=$arResult["ID"]?>" data-quantity="<?=$arResult["EXTRA_SETTINGS"]["BASKET_STEP"]?>"> <img src="<?=SITE_TEMPLATE_PATH?>/images/Осн_new.png" alt="<?=GetMessage("CREDIT_BEZ_PEREPLAT")?>" class="icon"><?//=GetMessage("CREDIT_BEZ_PEREPLAT")?> <?if (isset($arResult["PRICE"]["DISCOUNT_PRICE"])):?> от <?=CCurrencyLang::CurrencyFormat($arResult["PRICE"]["DISCOUNT_PRICE"], $arResult["EXTRA_SETTINGS"]["CURRENCY"], true)?> в месяц <?else:?> <?=CCurrencyLang::CurrencyFormat($arResult["PRICE"]["RESULT_PRICE"]["BASE_PRICE"], $arResult["EXTRA_SETTINGS"]["CURRENCY"], true)?> <?endif?> </a> </div> Если кнопке добавить onclick="style.display='none'", тогда после нажатия кнопка исчезает - так и нужно. Но если обновить страницу, тогда отображается две кнопки "В корзине" https://prnt.sc/qmu7n4 Подскажите, пожалуйста, каким образом скрыть кнопку после клика на неё и чтобы кнопка "В корзине" второй раз не отображалась? Спасибо. |
Может возможно опираясь на класс addCartCredit по наличию данного класса у элемента при клике на него скрыть?
|
Цитата:
|
laimas, спасибо что откликнулись )
В простой кнопке(т.е. "В корзину") нет класса addCartCredit <a href="#" class="addCart changeID changeQty changeCart disabled" data-id="<?=$arResult["ID"]?>" data-quantity="<?=$arResult["EXTRA_SETTINGS"]["BASKET_STEP"]?>"><img src="<?=SITE_TEMPLATE_PATH?>/images/incart.png" alt="<?=GetMessage("ADDCART_LABEL")?>" class="icon"><?=GetMessage("ADDCART_LABEL")?></a> На данный момент у кнопки "Покупка в кредит" есть класс addCartCredit, которого нет в кнопке "В корзину". Вот и думаю, может по наличию данного класса скрывать элемент. Потому что данный класс есть как в кнопке "Покупка в кредит", так и в кнопке "В корзине", которая появляется (дублируется) после клика на "Покупка в кредит". Можно сделать так onclick="this.remove();", тогда при клике на "Покупка в кредит" кнопка "В кредит" не отображается, но при обновлении страницы кнопка "В корзине" всё равно дублируется. |
Цитата:
|
laimas, изначально была одна кнопка "В корзинУ", после нажатия на которую товар добавляется в корзину и кнопка становится "В корзинЕ".
В связи с интеграцией покупки в кредит в товаре необходимо добавить кнопку "Покупка в кредит", которая также должна добавлять товар в корзину https://prnt.sc/qmup7e Для этого просто была скопирована кнопка "В корзинУ" и добавлен класс addCartCredit для изменения стиля кнопки. Но при этом кнопка "В корзинЕ" дублируется. Найден код: var updateAddCartButton = function($currentElement){ var $imageAfterLoad = $currentElement.find("img"); $currentElement.text(LANG["ADDED_CART_SMALL"]) .attr("href", SITE_DIR + "personal/cart/") .prepend($imageAfterLoad.attr("src", TEMPLATE_PATH + "/images/added.png")) .addClass("added"); }; Если его закомментировать, тогда после добавления товара в корзину кнопки "В корзинЕ" не появляются, вместо них отображаются кнопки "В корзинУ" и "Покупка в кредит". |
Цитата:
|
Если сделать console.log($currentElement);, тогда в консоли выводится:
n.fn.init [a.addCart.changeID.changeQty.changeCart, context: a.addCart.changeID.changeQty.changeCart] n.fn.init [a.addCart.addCartCredit.changeID.changeQty.changeCart, context: a.addCart.addCartCredit.changeID.changeQty.changeCart] n.fn.init [a.addCart.changeID.changeQty.changeCart, context: a.addCart.changeID.changeQty.changeCart] n.fn.init [a.addCart.addCartCredit.changeID.changeQty.changeCart, context: a.addCart.addCartCredit.changeID.changeQty.changeCart] |
Цитата:
|
_marisha, то есть вы вставили на страницу js код (показанный выше), который добавляет кнопку и запрос на добавление товара, а при этом анализа корзины не производится?
|
Цитата:
|
Код чего? Если товар добавляется ajax запросом и корзину хранит сервер, то клиент после ответа должен отметить кнопку источник добавления товара "в корзине", а вторую кнопку удалить.
Если сервер отдавая страницу анализирует состояние корзины или клиент ее запрашивает по загрузке страницы, то скрип "интегрированный" не должен добавлять кнопку (дублировать) у тех товаров, которые в корзине. Разберитесь с тем кто ведает контролем и станет понятно где искать проблему. |
Цитата:
_marisha, при отрисовке кнопок на странице вам нужно проверить, есть ли товар в корзине, если есть, то писать «В корзине» (и возможно кнопка «убрать из корзины»), если нет, то показывать кнопки «В корзину» и «Покупка в кредит». Цитата:
|
Цитата:
|
Цитата:
Цитата:
Не «ахинея», а реальная польза и разделение клиент и сервер! Цитата:
|
Malleys, вы вообще писали полное веб приложение, то есть, включая сторону сервера и клиента? Такое впечатление, что вы занимаетесь чисто теорией, совсем не занимаясь практикой. Какое отношение к конкретной данной теме имеет отношение rAthena, YouTube, если тут речь о магазине и проблеме совсем не касающейся кто и как рисует?
Цитата:
Остается разобраться кто тупит - сервер как партизан не отвечает о состоянии корзины, что не похоже, или клиент тупой, добавляет дубликат кнопки не спрашивая сервер о состоянии корзины, что должно быть, или спрашивает, но для проформы, что на 99% вероятно. Вот и вся суть, разводить лабуду об играх, в которых может быть то-то и то-то, о ютюбах, к чему. :) Охота чем-то заняться, а не чем? Есть предложение подумать над идей, а вдруг ... |
Цитата:
Цитата:
И вообще, шурундовать в «файле с 2379 строками», в котором PHP обмазан вокруг HTML, CSS, JavaScript, в которых могут быть ещё и вкрапления того самого PHP... Сколько вам нужно ещё там покопаться, чтобы понять, что REST — это не просто теория, а самая настоящая практика, которая избавит вас от этого кошмара! Что меня ещё смутило, так это то, что используется <a href="#", а не что-то типа <a href="/add-to-cart.php?productId=4075" . Разве последнее не лучше подходит под PHP? Цитата:
Цитата:
|
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Вышел мужик из избы, почесал свое хозяйство, окинул тоскливым взглядом дрова свои, а что делать, в избе холодно, топить надо. Взял свою "двух ручную дружбу" в одни руки и вжик, вжик, вжик ... - Слушай, Пятрович. За калиткой сосед. - Я вот что хочу тебе рассказать. Знаешь, есть такая пила, зверь, маленькая, а пилит ..., нужно только кнопочку нажать и все. А еще есть штука, сама дрова колет, ага, только что складывать их не умеет, а так прямо как по щучьему велению. А еще есть ... - Идить ты на ..., Миколай. Пятрович понимает, что реально он имеет двух ручку, и чтобы не замерзнуть он вынужден пользоваться ею, слушать рассказы ему некогда. Вот зачастую в темах вы напоминаете мне персонажа за калиткой. А вот когда написанное вами в темах к месту, это и читать интересно. Займитесь наконец практикой, поостынете с теориями, просто некогда будет. ;) |
Цитата:
Цитата:
А на деле про «теоретиков» — https://stackoverflow.com/jobs?td=ph...&s=75000&c=USD и «практиков» — https://stackoverflow.com/jobs?tl=ph...&s=75000&c=USD |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 02:27. |