Jquery 带有自定义附加元素的fancybox库
在打开fancybox gallery之前,我将元素附加到fancybox内部窗口中,但大小发生了变化,并且appende的元素溢出了,如何调整它的大小 我的问题- htmlJquery 带有自定义附加元素的fancybox库,jquery,fancybox,fancybox-2,Jquery,Fancybox,Fancybox 2,在打开fancybox gallery之前,我将元素附加到fancybox内部窗口中,但大小发生了变化,并且appende的元素溢出了,如何调整它的大小 我的问题- html javascript $(".fancybox").fancybox({ padding: 35, titleShow: false, beforeShow:function() { var t
javascript
$(".fancybox").fancybox({
padding: 35,
titleShow: false,
beforeShow:function() {
var title = $(this.element).find('b').text();
var text = $(this.element).find('em').text();
$('.fancybox-inner').prepend('<b>'+ title +'</b>');
$('.fancybox-inner').append('<em>'+ text +'</em>');
$.fancybox.update();
}
});
$(“.fancybox”).fancybox({
填充:35,
标题:假,
beforeShow:function(){
var title=$(this.element).find('b').text();
var text=$(this.element).find('em').text();
$('.fancybox-inner')。前缀(''+title+'');
$('.fancybox-inner')。追加(''+text+'');
$.fancybox.update();
}
});
有解决办法吗?fancybox版本2。您可能无法对图像执行此操作,因为fancybox大小是由脚本根据图像大小而不是
.fancybox内部的大小动态计算的
您可能需要将内容处理为html
,例如:
$(".fancybox").fancybox({
fitToView: false,
type: "html",
beforeShow: function () {
var title = $(this.element).find('b').text();
var text = $(this.element).find('em').text();
$('.fancybox-inner').html('<img style="max-width:300px" src="' + this.href + '" alt="" />');
$('.fancybox-inner').prepend('<b>' + title + '</b>');
$('.fancybox-inner').append('<em>' + text + '</em>');
$.fancybox.update();
}
});
$(“.fancybox”).fancybox({
菲托维:错,
键入:“html”,
beforeShow:函数(){
var title=$(this.element).find('b').text();
var text=$(this.element).find('em').text();
$('.fancybox-inner').html('');
$('.fancybox-inner')。前缀(''+title+'');
$('.fancybox-inner')。追加(''+text+'');
$.fancybox.update();
}
});
请参阅我找到了编辑fancybox主库的好方法
在默认值中
定义新的附件大小:0
在函数\u setDimension
中查找F.内部.宽度(宽度-填充2).高度(高度-填充2)编码>并将其替换为F.内部.宽度(宽度-填充2).高度(高度-填充2+当前.连接尺寸)代码>
将fancybox元素句柄更改为
$(".fancybox").fancybox({
padding: 35,
titleShow: false,
beforeShow:function() {
var title = $(this.element).find('b').text();
var text = $(this.element).find('em').text();
$('.fancybox-inner').prepend('<b>'+ title +'</b>');
$('.fancybox-inner').append('<em>'+ text +'</em>');
var sum_size = $('.fancybox-inner b').height() + $('.fancybox-inner em').height();
this.attach_size += sum_size;
}
});
$(“.fancybox”).fancybox({
填充:35,
标题:假,
beforeShow:function(){
var title=$(this.element).find('b').text();
var text=$(this.element).find('em').text();
$('.fancybox-inner')。前缀(''+title+'');
$('.fancybox-inner')。追加(''+text+'');
var sum_size=$('.fancybox-inner b').height()+$('.fancybox-inner-em').height();
this.attach_size+=总和_size;
}
});
对我有好处;) 通常情况下,弄乱原始插件文件不是一个好主意,因为在您(或其他开发人员)更新插件的那天,您的功能就会中断。最好根据您的需要使用单独的自定义脚本。可以在fancybox-3上使用相同的技巧吗?我已经尝试过了,但出现了错误uncaughttypeerror:t.fancybox.update不是函数
$(".fancybox").fancybox({
padding: 35,
titleShow: false,
beforeShow:function() {
var title = $(this.element).find('b').text();
var text = $(this.element).find('em').text();
$('.fancybox-inner').prepend('<b>'+ title +'</b>');
$('.fancybox-inner').append('<em>'+ text +'</em>');
var sum_size = $('.fancybox-inner b').height() + $('.fancybox-inner em').height();
this.attach_size += sum_size;
}
});