2016-07-29 42 views
0

目標:引導酥料餅的箭頭不會與數據佈局的變化,一旦變化已經設置

我創建使用的時鐘與既可以與會議,或空佔據15分鐘段的調度UI。我在我的頁面上有一個時鐘圖像,當您點擊圓圈時,在您點擊的pieslice外部出現引導彈出窗口(給出了該時間的描述以及有沒有開會的地方)


問題:

根據什麼象限的時鐘你點擊(上,下,左,右),我改變酥料餅的數據放置這樣的箭頭將朝向時鐘指向。這是我第一次這樣做,但在此之後,每當我重新定位彈出窗口以進行新的點擊時,箭頭方向都保持不變。


代碼:

JS:

var direction = getArrowDirection(seg); //finds the direction the arrow should face 
    var popover = $('#generalPopover'); 
    popover.attr("data-placement", direction); 
    $('[data-toggle="popover"]').popover(); 
    $(".meetingPopover").popover("show"); 

HTML:

<div data-toggle="popover" title="Meeting at Opus: 3:30pm to 5pm" 
data-content="Some content inside the popover" style="float: left;" 
class="meetingPopover" id="generalPopover">Popover</div> 

問題:

爲什麼在我第一次設置它後箭頭不會改變方向?這不應該改變指示箭頭指向的數據佈局嗎?

回答

0

如果你抓住這樣的酥料餅的實例:

var popover = $('.reply').data('bs.popover'); 

然後,重繪酥料餅,用.setContent()方法:

popover.setContent(); 

我發現瀏覽來源:https://github.com/twitter/bootstrap/blob/master/js/popover.js

因此,在您的示例中,請嘗試:

thisVal.attr('data-content',data).data('bs.popover').setContent(); 

更新

setContent()方法還消除了放置類,所以你應該做的:

var popover = thisVal.attr('data-content',data).data('bs.popover'); 
popover.setContent(); 
popover.$tip.addClass(popover.options.placement); 

演示:http://jsfiddle.net/44RvK

+0

我很困惑如何解決我的問題。在我的情況中,爲什麼方向不變?在你的例子中改變它的是什麼? – Gwynn

+0

'setContent()'方法也會移除放置類。你應該使用這種方法。這就是我的例子中改變方向的原因,這就是爲什麼你的方法不會改變 – CardCaptor