JQuery Fancybox不使用来自JSON调用的数据
$.getJSON("/Home/AjaxBrowse", { page: p ? p : 1 }, function (data) { var output = ""; jQuery.each(data.users, function (key, value) { output += '' + " '; }); $("#namesList") .attr("start", data.pager.FirstItemOnPage) .html(output); $("#namesPager").html(pagedList.render(data.pager)); }).error(function () { }); } " + '
我有这个代码,我希望fancybox可以使用。
这是fancybox代码:
$(document).ready(function () { $("a[rel=example_group]").fancybox({ 'transitionIn': 'none', 'transitionOut': 'none', 'titlePosition': 'over', 'type': 'image', 'titleFormat': function (title, currentArray, currentIndex, currentOpts) { return '' + (title.length ? ' ' + title : '') + ''; } }); });
我开始显示图像。 但当我点击图像,它转到链接,它没有打开花哨的盒子:(
我怎样才能解决这个问题?
当我将输出原始数据复制到html。 fancybox的作品。 但它不适用于来自json调用的数据。 这与页面加载有关吗?
Fancybox 1.3.x不支持动态添加的元素。 您的JSON
调用就是这种情况。
但是,您可以使用.on()
(jQuery .on()
+)方法将fancybox绑定到这些元素, .on()
其父容器定位为:
$(document).ready(function () { $("div.slidera_img").on("focusin", function(){ $("a[rel=example_group]").fancybox({ 'transitionIn': 'none', 'transitionOut': 'none', 'titlePosition': 'over', 'type': 'image', 'titleFormat': function (title, currentArray, currentIndex, currentOpts) { return '' + (title.length ? ' ' + title : '') + ''; } }); // fancybox }); // on }); // ready
还要将tabindex
添加到生成的标记中以修复Chrome的错误,例如:
+ ""
查看这篇文章以获取更多信息和DEMO。
$(document).ready(function () { $.getJSON('/Home/AjaxBrowse', { page: p ? p : 1 }, function (data) { var output = ''; $.each(data.users, function (key, entity) { output += ' '; }); $("#namesList").attr("start", data.pager.FirstItemOnPage).html(output); $("#namesPager").html(pagedList.render(data.pager)); $("a[rel=example_group]").fancybox({ 'transitionIn': 'none', 'transitionOut': 'none', 'titlePosition': 'over', 'type': 'image', 'titleFormat': function (title, currentArray, currentIndex, currentOpts) { return '' + (title.length ? ' ' + title : '') + ''; } }); }).error(function () { }); });
$(document).ready(function () { $.getJSON('/Home/AjaxBrowse', { page: p ? p : 1 }, function (data) { var output = ''; $.each(data.users, function (key, entity) { output += ' '; }); $("#namesList").attr("start", data.pager.FirstItemOnPage).html(output); $("#namesPager").html(pagedList.render(data.pager)); }).error(function () { }); $("a[rel=example_group]").livequery(function () { $(this).fancybox({ 'transitionIn': 'none', 'transitionOut': 'none', 'titlePosition': 'over', 'type': 'image', 'titleFormat': function (title, currentArray, currentIndex, currentOpts) { return '' + (title.length ? ' ' + title : '') + ''; } }); }); });