Bootstrap-tour onNext无法正常工作

时间:2018-05-10 18:32:09

标签: javascript twitter-bootstrap bootstrap-tour

有人可以告诉我这个插件的工作原理http://bootstraptour.com/api/吗?我有一步,我想重定向到动态网址。所以我写onNext回调,看起来像下面的代码。重定向工作正常,但在下一个网站上,我看到同样的步骤。不是下一个,而是同样愚蠢的一步。有人能告诉我这段代码有什么问题吗?它让我发疯了......

    { // 18
        orphan: true,
        title: "Zakázky",
        content: "Výborně, Vaše první zakázka je založena. Klikněte na její modrý název pro pokračování.",
        path: basePath + '/commission',
        onNext: function () {
            var commissionId = $('.tour-commission-detail').first().data('id');
            if( ! commissionId )
            {
                alert('Nejdříve musíte založit aspoň jednu zakázku');
                tour.prev();
                return;
            }
            document.location.href = basePath + '/commission/overview/' + commissionId;
            return (new jQuery.Deferred()).promise();
        }
    },
    { // 19
        orphan: true,
        title: "Zakázky",
        content: "Nyní se nacházíte na přehledu zakázky. Vidíte zde všechny základní informace. <br>V dalších krocích doplníme " +
            "na zakázku zaměstnance, materiál a další náklady."
    }

1 个答案:

答案 0 :(得分:1)

问题出在这一行

return (new jQuery.Deferred()).promise();

但是,有必要在重定向之前不要打开模式。

解决问题

{ // 18
    orphan: true,
    title: "Zakázky",
    content: "Výborně, Vaše první zakázka je založena. Klikněte na její modrý název pro pokračování.",
    path: basePath + '/commission',
    onNext: function () {
        var commissionId = $('.tour-commission-detail').first().data('id');
        if( ! commissionId )
        {
            alert('Nejdříve musíte založit aspoň jednu zakázku');
            tour.prev();
            return;
        }
        document.location.href = basePath + '/commission/overview/' + commissionId;
        return (new jQuery.Deferred()).promise();
    },
    onHidden: function(tour) {
        tour.setCurrentStep(18);
    }
},
{ // 19
},
{ // 20
    orphan: true,
    title: "Zakázky",
    content: "Nyní se nacházíte na přehledu zakázky. Vidíte zde všechny základní informace. <br>V dalších krocích doplníme " +
        "na zakázku zaměstnance, materiál a další náklady."
}

说明

onHidden 函数会将步骤18标记为当前,以防止其重复。但是,这将导致跳过步骤(在本例中为步骤19)。

然后,如上例所示,将第19步留为空白,因此当按下后退按钮时,将发现第19步为空白,并跳至第18步。