我正在使用宏伟的弹出窗口,并希望在有人来到旁边时显示视频(包括每次用户访问网站时都不显示它,因此是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 时,有没有办法触发弹出窗口?
更新:这是小提琴
在你已经拥有的 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);