2011-11-22 52 views
2

我如何覆盖新版本花式框中的标题?Fancybox v2覆盖/格式标题

$(document).ready(function() { 
    $(".photogalleryLightbox li a").fancybox({ 
     helpers:{ 
        title: { 
         type: 'inside', 
         beforeShow: function(opts) 
            { 
             console.log('beforeShow title helper'); 
            }, 
         }, 
        buttons : {} 
       }, 
     beforeShow: function() 
     { 
      console.log('beforeShow'); 
      // var obj = $(currentArray[currentIndex]); // from prev. version 
      // if (obj.next().length) return obj.next().html(); // from prev. version 
     } 
    }); 
}); 

我试过这个,但不知道如何获得变量作为索引。

回答

2

您可以使用回调来更新标题,例如:

$(".photogalleryLightbox li a").fancybox({ 
     beforeLoad : function() { 
      this.title = 'My Custom Title'; 
     }, 
     helpers: { 
      title: { 
       type: 'inside', 
       beforeShow: function(opts) { 
        console.log('beforeShow title helper'); 
       }, 
      }, 
      buttons : {} 
     }, 
     beforeShow: function() { 
      console.log('beforeShow'); 
      // var obj = $(currentArray[currentIndex]); // from prev. version 
      // if (obj.next().length) return obj.next().html(); // from prev. version 
     } 
    }); 
+0

我固定它是这样的: 'beforeShow:()函数 \t \t { \t \t \t //获取丰富的标题 \t \t \t VAR currentElement = this.element; \t \t \t var next = $(currentElement).next(); \t \t \t if(next.length && next.hasClass('caption'))this.title = next.html(); \t \t \t // var currentIndex = this.index; \t \t}' –

0

我加入了图像号码的标题是这样的:

beforeShow : function() { 
    this.title = '<span class="imgNo">Bild ' + (this.index + 1) + ' von ' + this.group.length + '</span>' + (this.title ? '' + this.title + '' : ''); 
} 

这个伟大的工程,但大小和偏移量的计算div.fancybox-wrap出错: 随着我的图像编号,每个图像在灯箱中都有一个标题,但并不是所有人都从缩略图标题标签中获得“真实”标题。 但是尺寸只用那些'真实'的标题来计算。

beforeLoad()中添加图像编号也可以工作,但也存在相同的问题。

有没有人有一个想法如何解决计算? 我还没有在fancybox-code中发现它,所以我可以在那里修复它,但我宁愿在回调函数中执行它,而不是通过更改源代码。