2011-10-19 19 views
-2

我有6個不同的圖像和6種不同的彈出窗口,如下所示;使用Javascript定位div

six fox sigma

現在,使用Javascript,我要做到以下幾點: 在任何圖像點擊:

  1. 獲取點擊的圖像的光標位置。
  2. 通過JavaScript,將絕對定位的div彈出在圖像的頂部/中心(如圖2中所示)

這應在流體佈局工作(左/頂部/底部/右%屬性,沒有像素),也因爲瀏覽器被調整大小。

下面是HTML代碼;

<div><img src="images/book1.gif" /></div> 
<div class="resPadDtp"> 
    <ul class="resDtp2 lightblktxt txtSmall"> 
     <li class="resDtpPad"><span>Some text 1</span></li> 
    </ul> 
</div> 
<div><img src="images/book2.gif" /></div> 
<div class="resPadDtp"> 
    <ul class="resDtp2 lightblktxt txtSmall"> 
     <li class="resDtpPad"><span>Some text 2</span></li> 
    </ul> 
</div> 
+0

有什麼_you_試過? – MrMisterMan

+0

我試着用CSS ......但在我的情況下,我想用JS .. – Diana

+0

「點擊的圖像」沒有「光標位置」。你可以得到光標的位置,或者圖像的位置,但它們不是一回事。你的意思是? – Blazemonger

回答

1

我打算採取一些有教育意義的猜測,你想要什麼,給你一些骨骼JS。既然你提供的不是基本的HTML,你必須採用它來適應你的具體情況。

$popup = $('div#popup'); // change 'div#popup' selector to your absolutely positioned div 
$('img').click(function() { // change 'img' selector to be more specific 
    var imgpos = $(this).offset(); // object with left and top properties 
    var imgwid = $(this).width(); 
    var popupwid = $popup.width(); 
    var popuphgt = $popup.height(); 
    var popupleft = imgpos.top - popuphgt; 
    var popuptop = imgpos.left + imgwid/2 - popupwid/2; 
    $popup.css({left: popupleft, top: popuptop}).show(); 
} 
+0

這會工作 - 但你需要知道你點擊了什麼圖像(列表?),以便你可以加載圖像列表。該傢伙正在使用的標記應該有一些確定的方法。 –

+0

我爲這些圖像添加了粗略的HTML代碼.. – Diana