2015-06-03 19 views
1

我有每次行界和SVG你點擊了一圈,我想彈出來直接出現在下面像刀尖箭頭的圓圈,jQuery的節目格

問題我得到的是,提示位置取決於鼠標點擊的位置,而不是相對於圓圈(我希望它出現在圓圈中間)。

我正在使用jquery ui位置實用程序來執行此操作。

下面是代碼

thisSeat.click(function(e){ 
    $('#' + seatID).position({ 
     my: "top", 
     at: "center bottom", 
     of: e, 
     offset: "-8 12", 
     collision: "none" 
    }); 
}); 

任何幫助將不勝感激。

+1

我們確實需要看到比這更多的東西,我們可以像堆棧片段或jsfiddle一樣運行。 –

+0

嗨,你好,你去http://jsfiddle.net/1wp1zLf7/1/ – frankwhitejr

+0

你可以得到圓的偏移位置,並將彈出窗口移動到圓的中心。 – SzybkiSasza

回答

1

有沒有必要使用JQuery UI :)你可以使用點擊圓的偏移量。試試這個:

$("circle").each(function() { 
    var seatID = $(this).attr('class'); 
    $(this).click(function (e) { 
     $(".ticket-price").not('#' + seatID).hide(); 
     $("#" + seatID).show(); 

     var offset = $(this).offset(); 
     var popoverWidth = $('#' + seatID).width() 

     $('#' + seatID).css(
      {position: 'absolute', 
      top: (offset.top + 20)+'px', 
      left: offset.left - (popoverWidth/2) - 5 + 'px' 
      }); 
    }); 
}); 

這裏是JSFiddle:http://jsfiddle.net/1wp1zLf7/2/。注意絕對定位並對元素位置進行小幅調整以顯示在圓心中。

+0

感謝您的工作,我不得不減去父偏移量,讓它定位正確,但之後看起來很棒! – frankwhitejr