只有当身体有特定的类时才会启动大胆的弹出窗口

时间:2015-04-24 12:44:22

标签: javascript jquery popup magnific-popup

我正在与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

1 个答案:

答案 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);