2013-04-01 49 views
3

我有幾個元素動態地添加到頁面,並使用twitter-bootstrap工具提示分配給每個元素。但是,這些動態添加的對象有一些垂直偏移,這會阻止工具提示完全排列(它們需要減少大約15px)。我的問題是,如何在渲染時如何重新定位每個工具提示(包括當前綁定和未綁定的那些),低於其當前位置15px?twitter引導工具提示的垂直偏移量

下需要照顧,如果當前顯示工具提示的偏移量,但不會主動工作(顯示未來的工具提示沒有偏移):

$('.tooltip').css('top',parseInt($('.tooltip').css('top')) + 15 + 'px') 

我不知道什麼樣的事件,以綁定它以便將其應用於任何曾經放在屏幕上的工具提示。

回答

2

您的工具提示如何被激活?如果您使用的是默認「懸停」你可以當你的元素懸停分配的功能,然後使用的CSS像這樣重新定位.tooltip元素:

$("[data-toggle=tooltip]").tooltip(); 
$("[data-toggle=tooltip]").hover(function(){ 
    $('.tooltip').css('top',parseInt($('.tooltip').css('top')) + 15 + 'px') 
}); 

上Bootply工作:http://bootply.com/59977

您可能需要將$("[data-toggle=tooltip]")更改爲您爲工具提示使用的任何選擇器。

+0

我使用的「顯示」選項。 popover總是出現在屏幕上。在哪種情況下,我可以更改彈出窗口的頂部位置。 – nani1216

+0

注意:如果您按照建議在懸停的工具提示頂部添加15px,則會在每次懸停時發生,並且工具提示將逐漸向下抓取屏幕。 –

0

我們必須添加「handlerOut」回調補償偏移,否則提示增加消失前再次偏移:

$('[data-toggle="tooltip"]').tooltip(); 
    $('[data-toggle="tooltip"]').hover(function(){ 
     $('.tooltip').css('top',parseInt($('.tooltip').css('top')) + 20 + 'px')    
    }, 
    function() { 
     $('.tooltip').css('top', parseInt($('.tooltip').css('top'))) 
    });