我已经在文档就绪的 WordPress 网站上使用 JQuery 实现了启动屏幕。
setTimeout(function() {
$("#site-overlay").fadeOut();
}, 3000);
好的,叠加层会在 3 秒后淡出。但是,如果我单击菜单按钮,整个页面将重新加载,并且函数 settimeout
会重复,因为它已在文档上准备就绪。
如何在不使用复杂代码的情况下为每个域仅设置一次?
最佳答案
您需要做的是实现 cookie 或类似的东西
我建议https://github.com/yanivkalfa/myCookie这是我自己的图书馆,但还有其他类似的图书馆,因此您可以选择一个。
重点是在 cookie 或 session 中设置一个标志或其他内容,表明您已经完成了所需的操作。
例如:
// <script .... https://github.com/yanivkalfa/myCookie .. inclode my cookies library
setTimeout(function() {
var overlayFlag = $.fn.myCookie({cName: "overlayFlag"});
if (!overlayFlag) {
$.fn.myCookie( {cName : "overlayFlag", cVal : true} );
$("#site-overlay").fadeOut();
}
}, 3000);
沿着这些思路,还有其他解决方案..这似乎很简单。
关于javascript - 每个域仅运行一次 JS SetTimeout 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37229362/