2013-11-23 68 views
0

我們正試圖添加兩個fancybox內聯彈出窗口到我們的網站。我們有一個工作,但我們無法獲得第二個工作。你能看看我們的代碼嗎?兩個fancybox內聯彈出窗口頁

對於HTML我們寫了下面的:

<a id="popup-inline" href="#data"><div class="button">Click here</div></a><br><br> 
     <div style="display:none"> 
      <div id="data"> 
       TEXT 
      </div> 
     </div> 

<a id="popup-inline" href="#data1"><div class="button">Click here</div></a><br><br> 
     <div style="display:none"> 
      <div id="data1"> 
       TEXT1 
      </div> 
     </div>' 

此外,我們的jQuery是:

$(document).ready(function() { 
$("#popup-inline").fancybox({ 
     'titlePosition' : 'inside' }); 
    }); 
</script> 

回答

1

ID是唯一的,所以將其更改爲一類爲兩個元素:

<a class="popup-inline" ... 

和do:

$(".popup-inline").fancybox({ 
    'titlePosition' : 'inside' 
}); 

jQuery(和一般的JavaScript)只使用兩次相同的ID時發現第一個元素,因爲任何其他元素都是無效的標記,並且不是預期的。

+0

你的代碼中有一個額外的收盤'});'或錯過了開幕'就緒()'方法 – JFK

+0

非常感謝,正在工作! – user3026014

-1

@adeneo說的是正確的。此外,你不應該把一個隱藏的div包含內嵌的fancybox內容圍繞元素:

<div id="data1" style="display:none"> 

    TEXT1 

</div> 
+0

不同意:實際上,如果使用fancybox 1.3.x,則這是正確的語法。請參閱http://stackoverflow.com/a/3963349/1055987 – JFK

+0

如果2.0年已經過時,爲什麼要使用1.3.x?我一直在使用它沒有這個冗餘的div很久以來;這絕對不是最好的實踐恕我直言。 –

+1

人們使用v1.3.4而不是v2.x的原因是(如果您不知道)v1.3.4可以免費用於GPL許可下的商業用途,而您需要爲v2.x付費(如果使用的話)在商業網站。檢查http://fancyapps.com/fancybox/#license更多 – JFK