ОК, похоже, вам нужно будет заново привязать Facebox после загрузки Ajax.
Так что с вкладками ajax используйте:
instance.onajaxpageload=function(pageurl){
//custom code here
}
и:
Attach It onLoad
Хотя вызов facebox () для любого тега привязки сработает, проще дать вашим ссылкам Faceboxy rel = "facebox" и поразить их всех onLoad.
jQuery(document).ready(function($) {
$('a[rel*=facebox]').facebox()
})
Таким образом, вы должны получить что-то вроде:
instance.onajaxpageload=function(pageurl){
$('a[rel*=facebox]').facebox()
}
Очевидно, заменив «instance» вашим объектом tabs - это должно привязать вновь загруженные элементы Facebox к коду.
Единственное, что не ясно из документации, - это если .onajaxpageload
метод завершит загрузку содержимого Ajax, так как это то, что вы хотите (не во время или до).
Редактировать:
Новый скрипт, который нужно попробовать.
<script type="text/javascript">
var countries=new ddajaxtabs("popularPosts", "populardivcontainer")
countries.setpersist(true)
countries.setselectedClassTarget("linkparent") //"link" or "linkparent"
countries.init()
$(document).ready(function() {
loadFacebox();
countries.onajaxload=function(pageurl) {
loadFacebox();
};
});
function loadFacebox() {
$('.embed-thumbnail').click(function(event) {
event.preventDefault();
$.facebox($(this).parent().find('.embed-content')[0].innerHTML)
});
$.facebox.settings.loadingImage = '../static/img/loading.gif'
$.facebox.settings.closeImage = '../static/img/closelabel.png'
$.facebox.settings.opacity = 1
$.facebox.settings.faceboxHtml = '\
<div id="facebox" style="display:none;"> \
<div class="popup"> \
<div class="content"> \
</div> \
<a href="#" class="close"><img src="../static/img/closelabel.png" title="close" class="close_image" /></a> \
</div> \
</div>'
};
</script>
Или что-то в этом роде ... Возможно, вам понадобится более хитрый способ определения местоположения элементов вашего фейсбокса - однако при этом должен быть связан тот же кодпосле каждой загрузки вкладки.