我试图循环浏览tooltipabble元素,并在每个元素上显示工具提示
在一段时间内,隐藏了先前显示的内容。

显示它们都很好,但是我对如何隐藏上一个有问题。

我正在使用bootstrap tooltip('show')和tooltip('hide')方法,因此我将元素包装在$()

(function(){
    var i = 0;
    var tt = $('[data-toggle="tooltip"]');

    setInterval(function(){

        // if(oldTip) $(oldTip).tooltip('hide'); // not working

        var tip = tt[i++];
        $(tip).tooltip('show');

        // tried saving old instance here but that didn't work
        // oldTip = tip;

        if(i >= tt.length) i = 0;

    }, 2000);
})();

最佳答案

在setInterval回调之外保存oldTip变量。参见演示:http://jsfiddle.net/1vm90Lcx/

(function(){
var i = 0;
var tt = $('[data-toggle="tooltip"]');
var oldone;

setInterval(function(){

    if(oldTip) $(oldTip).tooltip('hide');

    var tip = tt[i++];
    $(tip).tooltip('show');
    oldTip = tip;

    if(i >= tt.length) i = 0;

}, 2000);
})();

09-16 02:23