Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 带有自定义附加元素的fancybox库_Jquery_Fancybox_Fancybox 2 - Fatal编程技术网

Jquery 带有自定义附加元素的fancybox库

Jquery 带有自定义附加元素的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

在打开fancybox gallery之前,我将元素附加到fancybox内部窗口中,但大小发生了变化,并且appende的元素溢出了,如何调整它的大小

我的问题-

html


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;
    
                }
    
            });