如何使用intros属性方法跳过不可见的元素

时间:2017-01-25 18:34:09

标签: intro.js

我正在使用introJS,我们的模板设计师团队只能使用data-intro属性,但他们也使用制表符和其他javascript来隐藏或显示某些元素。

当运行introJS时,对于那些隐藏元素(隐藏或另一个选项卡),它会在左上角(0,0)位置显示指南。

有什么办法,我们可以跳过不可见的元素,但只使用属性方法。我们可以添加任何js文件,所以如果我们可以配置introjs一次来实现这个并包含该文件。

谢谢。

1 个答案:

答案 0 :(得分:1)

好的,

所以我通过包装函数实现了它,并将其留给了其他有需要的人。

这是我的包装函数看起来像

runIntro: function(object){

    $('[data-intro]:hidden').each(function(index,obj){
        var $t = $(this);
        $t
            .attr({
                'data-intro-hidden' : $t.attr('data-intro'),
            })
            .removeAttr('data-intro')
        ;
    });

    $('[data-intro-hidden]:visible').each(function(index,obj){
        var $t = $(this);
        $t
            .attr({
                'data-intro' : $t.attr('data-intro-hidden'),
            })
            .removeAttr('data-intro-hidden')
        ;
    });

    if(typeof object === undefined)
        introJs().start();
    else
        introJs(object).start();
}

这样,我们仍然使用属性和隐藏元素被静音或跳过介绍。

为我工作很好:))