我想在一段时间后添加class
。但延迟方法在sessionStorage中不起作用。我不知道为什么它不起作用。
window.onload = function() {
if (sessionStorage.getItem(".bts-popup") != 'true') {
$('body.home, body.page-template-page-services').delay(10000).addClass('is-visible');
sessionStorage.setItem('.bts-popup', 'true');
}
}
答案 0 :(得分:5)
这与会话存储无关,这完全是由于您在delay
之后调用的方法所致; addClass
未添加到任何队列。
docs的提示:
.delay()方法最适合在排队的jQuery效果之间进行延迟。由于它是有限的(例如,它没有提供消除延迟的方法)。.delay()不能替代JavaScript的本机setTimeout函数,该函数可能更适合某些用例。
您只需使用
setTimeout(function(){
$('body.home, body.page-template-page-services').addClass('is-visible');
},10000);