提供“工具提示之旅”的最佳方式

时间:2012-02-19 20:27:53

标签: javascript tooltip jquery-tooltip

使用上下文工具提示快速浏览网络应用的最佳方法是什么?

用例:

  • 用户导航到webapp
  • 某种形式的弹出窗口,询问用户是否需要浏览界面
  • 用户可以在每个工具提示上单击下一个以显示下一个工具提示
  • 用户可以通过点击某种退出X或按钮
  • 随时取消游览

那里有一个简单的库吗?

谢谢!

2 个答案:

答案 0 :(得分:26)

最简单的方法是使用Jeff Pickhardt的Guider-JS javascript工具提示演练库。它非常易于使用(虽然它有几个非常先进的功能),并且完全符合您的描述。

您可以查看使用Guider-JS制作的工具提示演练的this excellent example

如果您想在生产网站上查看工作示例,则会在optimizely.com上广泛使用该示例,为用户界面提供帮助和演练指南。

更新:ZURB Foundation现在正在维护优秀的"Joyride" tooltip tour javascript库。

答案 1 :(得分:1)

您还可以使用带有迭代器的链表自行编写巡视部件,该迭代器始终调用回调来设置工具提示,并使用一个来关闭它。然后,您可以使用任何所需的工具提示脚本。这是一个快速的概念证明,可以告诉你我的意思:

var toolTipList = {
    tooltips: [],
    currentTooltip: {},
    addTooltip: function(tooltip){
        var currentTail = this.tooltips.length > 0 ? this.tooltips[this.tooltips.length - 1] : {};
        var newTail = {
            tooltip: tooltip,
            prev: currentTail
        };
        currentTail.next = newTail;
        this.tooltips.push(newTail);
    },

    initialize: function(){
        this.currentTooltip = this.tooltips[0];
        this.currentTooltip.tooltip.callback();
    },

    next: function(){
        if(this.currentTooltip.next){
            this.currentTooltip.tooltip.close();
            this.currentTooltip = this.currentTooltip.next;
            this.currentTooltip.tooltip.callback();        
        }   
    }           
};


for(var i = 0; i < 10; i++){
    toolTipList.addTooltip({
        callback: function(){ 
            // called every time next is called
            // open your tooltip here and 
            // attach the event that calls 
            // toolTipList.next when the next button is clicked
            console.log('called'); 
        },
        close: function(){ 
            // called when next is called again
            // and this tooltip needs to be closed
            console.log('close'); 
        }
    });
}

toolTipList.initialize();

setInterval(function(){toolTipList.next();}, 500);

​JSFiddle link