2013-10-23 63 views
0

我正在一個網站上有一些有趣的東西,它爲每個「縮略圖」懸停你得到一個小的側窗有一個小的描述和一個鏈接到預告片。jQuery和PHP從MYSQL獲得特定的表通過jQuery的具體傳遞ID

現在我用jquery彈出窗口更新了網站,我想在該彈出框中顯示預告片,但問題是我在每個頁面上都有大約40個「縮略圖」。

所以問題是「我怎樣才能爲每個縮略圖彈出?」我不想用自己的預告片彈出來填充每個縮略圖 - > div。

我會在下面提供一些代碼。

page.html中(這是PHP代碼生成的)

<div id="thumb" class="popup"> 
    <img class="img" src="img.jpg"> 
    <a href="#" onclick="getTrailer('1') class="trailer">Show trailer</a> 
</div> 

<div id="thumb" class="popup"> 
    <img class="img" src="img.jpg"> 
    <a href="#" onclick="getTrailer('2') class="trailer">Show trailer</a> 
</div> 

<div id="thumb" class="popup"> 
    <img class="img" src="img.jpg"> 
    <a href="#" onclick="getTrailer('3') class="trailer">Show trailer</a> 
</div> 


<div id="popup> 
<p class="trailer></p> 
</div> 

js.js

function getTrailer(id){ 
$("a.trailer") 
    .click(function() { 
    var value = $(this).val(); 
    $("p.trailer").load("/get_trailer.php?id="+id); 
    }) 
} 

這是我到目前爲止,我不知道這是否安全使用或不,如果這是處理它的最佳方式,反正我不知道如何做到這一點,所以請求hel頁。

在此先感謝。

回答

0

您的getTrailer函數只是將點擊處理程序添加到各個鏈接;你只想做一次。

相反,我想你想你的鏈接看起來是這樣的:

<a href="#" rel="1" class="trailer">Show trailer</a> 

而JavaScript看起來是這樣的:

$(document).ready(function() 
{ 
    $('a.trailer').click(function() 
    { 
      var id = $(this).attr('rel'); 
      $("p.trailer").load("/get_trailer.php?id="+id); 

      // this is so the href isn't followed 
      return false; 
    } 
} 

而且,你有ID = 「拇指」在多個元素上; ids只能用於一個元素 - 用class代替。