这个脚本作为股票倒计时效果很好,但我无法在同一页面上超过 1 个位置显示它。
例如,同一页面上有 4 或 5 个产品/计划,每个产品显示的库存数量不同,并且数量变化的时间也不同。仅在 1 个产品上显示。
<span class="qty" id="qty"></span> <script> const setQty = (qty) => { qtySpan.innerHTML = qty; if (qty == 0) return; let parts = Math.floor((Math.random() * 3) + 1); if (parts > qty) parts = qty; const msec = Math.floor(((Math.random() * 15) + 15) * 1000); qty -= parts; // Save the updated quantity in localStorage localStorage.setItem('saved_countdown', qty); setTimeout(() => setQty(qty), msec); } // Get the saved countdown value from localStorage, or use default value of 57 if not found const defaultQty = localStorage.getItem('saved_countdown') ?? 57; const qtySpan = document.getElementById('qty'); // Set the initial value of the quantity setQty(defaultQty); </script>
我复制了脚本 4x,将 ID“qty”更改为 qty1、qty2、qty3 和 qty4,但它不起作用,它只在 1 个产品中显示...:/
这里有人可以帮助我吗?谢谢!
我更改了功能,以便您可以有多个倒计时。
您只需发送每个倒计时的具体数字作为第二个参数。
我已将您的脚本修改为自定义元素。这意味着您现在可以创建一个名为
<stock-counter>
的元素。该元素有 2 个属性,
quantity
和storage-key
。quantity
是开始计数的金额。storage-key
是本地存储密钥的名称,用于存储此特定计数器的最后数量。如果设置了存储键并且找到了存储值,则该值将取代quanitity
值,除非存储值是0
。所以元素看起来像这样:
您可以在页面上放置任意数量的这些元素,并修改每个元素的
quantity
和storage-key
。