仅当body具有特定类时,才开始精彩的弹出窗口



我正在使用宏伟的弹出窗口,并希望在有人来到旁边时显示视频(包括每次用户访问网站时都不显示它,因此是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);

最新更新