我正在与magnific popup合作,并希望在有人到场时显示视频(包括每次用户访问网站时都不会显示该视频,因此是localStorage部分)。这一切都有效,这里是代码:
(
function($) {
$(window).load(function () {
if(localStorage.getItem('popState') != 'shown'){
setTimeout(function(){
$.magnificPopup.open({
items: {
src: 'https://www.youtube.com/watch?v=blabla'
},
type: 'iframe',
iframe: {
patterns: {
youtube: {
index: 'youtube.com/',
id: 'v=',
src: 'http://www.youtube.com/embed/%id%?rel=0&autoplay=0'
}
}
}
});
}, 5000);
localStorage.setItem('popState','shown')}
});
})
(jQuery);
现在,我想仅在特定页面上显示弹出窗口(选择特定语言时)。我注意到当用户选择语言时,body标签会更改类,例如:
<body class="lang-en-EN">
或
<body class="lang-de-DE">
当班级从语言EN更改为DE?
时,有没有办法触发弹出窗口更新:此处为Fiddle
答案 0 :(得分:1)
在您已有的if语句中,只需检查该类,然后添加(例如)$(body).hasClass("lang-en-DE")
:
(function($) {
$(window).load(function () {
if($(body).hasClass("lang-en-DE") && localStorage.getItem('popState') != 'shown'){
setTimeout(function(){
$.magnificPopup.open({
items: {
src: 'https://www.youtube.com/watch?v=blabla'
},
type: 'iframe',
iframe: {
patterns: {
youtube: {
index: 'youtube.com/',
id: 'v=',
src: 'http://www.youtube.com/embed/%id%?rel=0&autoplay=0'
}
}
}
});
}, 5000);
localStorage.setItem('popState','shown')}
});
})
(jQuery);