我需要加載的內容具有的fancybox iframe中動態的寬度。要實現調整iframe以適應內容的大小,我需要將內容寬度傳遞給Fancybox調用。我一直在使用這樣做如下:呼叫的fancybox()點擊功能,同時保持了庫功能
jQuery('#container').on('click', '.fancybox-iframe', function(e){
e.preventDefault();
var iframeWidth = parseInt(jQuery(this).attr('id'));
jQuery(this).fancybox({
width : iframeWidth,
height : '100%',
autoSize : true,
fixed : true,
type : 'iframe',
loop : false,
padding : 0,
closeBtn : false,
afterLoad : function() {
jQuery('body').css('overflow', 'hidden');
},
afterClose : function() {
jQuery('body').css('overflow', 'auto');
},
helpers : {title: {type: 'outside'}, overlay: {opacity: 0.8, css: {'background-color': '#FFFFFF'}}, thumbs: {width: 50, height: 50}, buttons: {}}
});
});
以上部分的HTML:
<a id="<?php echo $content_width; ?>" class="fancybox-iframe fancybox.iframe" rel="gallery" href="<?php the_permalink(); ?>"></a>
<a id="<?php echo $content_width; ?>" class="fancybox-iframe fancybox.iframe" rel="gallery" href="<?php the_permalink(); ?>"></a>
<a id="<?php echo $content_width; ?>" class="fancybox-iframe fancybox.iframe" rel="gallery" href="<?php the_permalink(); ?>"></a>
上面的代碼有兩個問題:首先,我必須單擊超級鏈接兩次,爲的fancybox每次出現。第二個問題是,這並不與HREF的rel
屬性的工作,因此不顯示爲一個的fancybox的畫廊內容。爲了克服畫廊問題,我換成jQuery(this).fancybox({
與jQuery('.fancybox-iframe').fancybox({
。這使畫廊功能的工作。然而,現在的fancybox只需要iframeWidth
變量的點擊第一個鏈接的價值。
如何將內容寬度變量傳遞給的fancybox,並保持庫功能的任何想法?順便說一句,我用的fancybox工作2.0.5
請參閱我的更新 – JFK 2012-03-01 01:55:51