نمایش 13–23 از 23 نتیجهمرتب‌سازی بر اساس جدیدترین

document.addEventListener('DOMContentLoaded', function () { document.querySelectorAll('form.cart').forEach(function (form) { if (form.dataset.gtDownloadReady) return; const product = form.closest('.product') || document; const singleButton = form.querySelector( 'button.single_add_to_cart_button' ); const subscriptionButton = product.querySelector( 'a.single_add_to_cart_button[href*="اشتراک"], ' + 'a.single_add_to_cart_button[href*="%D8%A7%D8%B4%D8%AA%D8%B1%D8%A7%DA%A9"]' ); if (!singleButton || !subscriptionButton) return; form.dataset.gtDownloadReady = 'true'; // ساخت ظرف منوی دانلود const wrapper = document.createElement('div'); wrapper.className = 'gt-download-dropdown'; // دکمه اصلی const trigger = document.createElement('button'); trigger.type = 'button'; trigger.className = 'button alt gt-download-trigger'; trigger.setAttribute('aria-expanded', 'false'); trigger.innerHTML = 'دانلود⌄'; // منوی کشویی const menu = document.createElement('div'); menu.className = 'gt-download-menu'; menu.hidden = true; // قرار دادن دکمه‌های اصلی داخل منو singleButton.parentNode.insertBefore(wrapper, singleButton); wrapper.appendChild(trigger); wrapper.appendChild(menu); menu.appendChild(singleButton); menu.appendChild(subscriptionButton); // باز و بسته کردن منو trigger.addEventListener('click', function () { const isOpen = wrapper.classList.toggle('is-open'); menu.hidden = !isOpen; trigger.setAttribute( 'aria-expanded', isOpen ? 'true' : 'false' ); }); // بستن با کلیک خارج از منو document.addEventListener('click', function (event) { if (!wrapper.contains(event.target)) { wrapper.classList.remove('is-open'); menu.hidden = true; trigger.setAttribute('aria-expanded', 'false'); } }); // بستن با کلید Escape wrapper.addEventListener('keydown', function (event) { if (event.key === 'Escape') { wrapper.classList.remove('is-open'); menu.hidden = true; trigger.setAttribute('aria-expanded', 'false'); trigger.focus(); } }); }); });