参数content的值应该是一个获取内容的函数。我想我可以用到这样的东西:
$(".fancy-detail-page").fancybox({
      'content'    : function(){
          var id = $(this).attr('id');
          id = id.replace("pd", "c");
          var content = $('#' + id + ' .product-details').html();
          return content;
      },
      'padding'    : 0,
      'openEffect'  : 'none',
      'closeEffect'  : 'none',
      'maxWidth'    : 960
 });但是return似乎不起作用。如何正确地完成此操作?
发布于 2013-04-18 05:31:12
在不使事情变得太复杂的情况下,您可以使用beforeLoad回调来获得相同的结果,而且它会更干净、更简单、更快,如下所示:
$(".fancy-detail-page").fancybox({
    padding: 0,
    openEffect: 'none',
    closeEffect: 'none',
    maxWidth: 960,
    beforeLoad : function () {
        var id = $(this.element).attr("id").replace("pd", "c");
        this.content = $('#' + id + ' .product-details').html();
    }
});这一行
this.content = $('#' + id + ' .product-details').html();可以归结为:
this.content = $('#' + id + ' .product-details');不需要.html()就能得到相同的结果……请参阅
https://stackoverflow.com/questions/16063350
复制相似问题