求助:为Shopify Dawn主题订阅弹窗添加5秒延迟
给Dawn主题订阅弹窗添加5秒延迟的解决方案
要实现5秒延迟弹出订阅窗口,只需修改你的custom-subscriber-pop.js文件,用setTimeout()函数包裹弹窗触发逻辑即可,具体步骤如下:
- 找到主题文件中的
custom-subscriber-pop.js - 定位到原本触发弹窗显示的代码段(通常是判断Cookie后显示弹窗的部分)
- 将这段触发代码包裹在
setTimeout()中,设置延迟时间为5000毫秒(即5秒)
修改后的示例代码
// 延迟5秒执行弹窗逻辑 setTimeout(function() { // 检查用户是否未关闭过弹窗(通过Cookie判断) if (!Cookies.get('subscriber_pop_closed')) { // 获取弹窗元素并显示,根据你的实际代码调整 const subscriberPopup = document.getElementById('subscriber-pop'); if (subscriberPopup) { subscriberPopup.style.display = 'block'; // 如果你的弹窗有入场动画,可在此添加对应的class,比如: // subscriberPopup.classList.add('active'); } } }, 5000); // 5000毫秒 = 5秒
额外注意事项
- 确保
JS.cookie.min.js已在theme.liquid中正确引入,否则Cookie判断逻辑会失效 - 如果你的弹窗有额外触发条件(比如仅在首页显示),请将这些条件也放入
setTimeout的回调函数内 - 调试时可暂时将延迟时间改为1000毫秒(1秒),测试正常后再改回5000毫秒
内容的提问来源于stack exchange,提问作者Pandaboom
相关产品推荐
相关产品推荐

