2013-10-22 50 views
0

我用這個代碼,但它是不工作的工作...的fancybox不與特定的選擇

 $(document).ready(function() { 
      $('#welcomePopup').fancybox();    
     }); 

但另一個代碼工作正常,像

$.fancybox({ 
        'padding': 5, 
        'width': 625, 
        'height': 450, 
        'content': $("#welcomePopup").html() 
       }); 

我想用第一種方法因爲第二個重複的HTML。

任何線索?

+0

可以設置小提琴 –

+0

檢查您的多個「welcomePopup」 IDS – Pete

+1

你正在下降這種情況下http://stackoverflow.com/a/19507562/1055987 HTML – JFK

回答

2

$(document).ready(function() { 
    $('#welcomePopup').fancybox();    
}); 

結合選擇#welcomePopup到的fancybox但它不會打開它。您仍然需要在該選擇器上打開click才能打開fancybox。

上面代碼中的正常情況是

<a id="welcomePopup" href="{your target content}">open fancybox</a> 

其中#welcomePopup是的fancybox 觸發

。另一方面,如果#welcomePopup內容是要顯示爲的fancybox內容是什麼(#welcomePopup是fancybox 目標),那麼你需要另一個選擇器作爲觸發器。

此第二種情況下,正常的做法是:

HTML

<a class="fancybox" href="#welcomePopup">open welcome pop up in fancybox</a> 
<div style="display: none;" id="welcomePopup"> 
    <h1>fancybox content</h1> 
    <p>lorem ipsum</p> 
</div> 

jQuery的

$(document).ready(function() { 
    $('.fancybox').fancybox();    
}); 

最後,如果你想打開的fancybox沒有觸發器和頁面加載,那麼其中任何一個都可以做到這一點

$.fancybox({ 
    'padding': 5, 
    'width': 625, 
    'height': 450, 
    'href': "#welcomePopup" 
}); 

$.fancybox("#welcomePopup",{ 
    'padding': 5, 
    'width': 625, 
    'height': 450 
}); 
+0

非常感謝您對那詳細的解釋! –

+0

@ClarkKent:你不是超人嗎? ;) – JFK

+0

是的......但是我的父親沒有給我解決編碼問題的能力......從這個意義上說,我是一個簡單的人。 :)謝謝你的幫助,兄弟! –