Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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
Javascript 修改文件jquery.fancybox-1.3.4.js以重写_draw函数,jquery_Javascript_Jquery_Html_Fancybox - Fatal编程技术网

Javascript 修改文件jquery.fancybox-1.3.4.js以重写_draw函数,jquery

Javascript 修改文件jquery.fancybox-1.3.4.js以重写_draw函数,jquery,javascript,jquery,html,fancybox,Javascript,Jquery,Html,Fancybox,我正在做一个基于fancybox的图库-实际上我已经修改了field来实现我所需要的,我已经完成了,我发现的最后一个问题是在代码的这一部分: } else { fx.prop = 0; $(fx).animate({prop: 1}, { duration : currentOpts.changeSpeed, step : _draw, complete : finish_resizing

我正在做一个基于fancybox的图库-实际上我已经修改了field来实现我所需要的,我已经完成了,我发现的最后一个问题是在代码的这一部分:

} else {
        fx.prop = 0;

        $(fx).animate({prop: 1}, {
            duration : currentOpts.changeSpeed,
            step : _draw,
            complete : finish_resizing
        });
Draw函数位于此处,因此您可以看到:

_draw = function(pos) {
            var dim = {
                width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10),
                height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10),

                top : parseInt(final_pos.top, 10),
                left : parseInt(final_pos.width, 10)
            };

            if (typeof final_pos.opacity !== 'undefined') {
                dim.opacity = pos < 0.8 ? 0.8 : pos;
            }

            wrap.css(dim);

            content.css({
                'width' : limit.width - currentOpts.padding * 2,
                'height' : limit.height - (titleHeight * pos) - currentOpts.padding * 2
            });
        },
还有这个(但我不认为这会影响它):

$('body')。追加(
tmp=$(''),
加载=$(''),
叠加=$(''),
限额=$('')
);
wraplimit=$('').append(limit).appendTo('body');
thebox=$('').append('').appendTo(覆盖)
wrap=$('').append().appendTo(限制);
外部=$('')
.append(“”)
.附件(包装);

听起来您想为“下一个”和“上一个”添加与主动画不同的自定义动画?您是否检查了文档并使用了next和prev命令

如果你想要的是你贴在小提琴上的效果,那么我建议你使用下面的讨厌的黑客(或者扔掉fancybox,从盒子里拿出一个支持这种效果的)

1) 在触发器上启用fancybox 2) 使用jQuery或其他工具在div中创建缩略图,然后将该div附加到已创建的fancybox元素的底部(位于主体底部) 3) 将创建的缩略图连接起来,使用现有的fancybox api进行下一个/上一个/特定等操作。
4) 避免触碰js本身。

编辑开源文件并不是实现某些目标的好方法。这些文件是由许多开发人员编写的,我认为他们知道一些东西。避免像Ahmet说的那样做。你试过版本2吗?你可以在这里发布:GitHub听起来很简单,但是我已经在这个文件周围写了很多其他的东西,并且=(这将是一个令人难以置信的工作量,我希望这不是真正的解决方案..也许如果有人能告诉我如何在fancybox2()上实现这一点,这个例子中的问题(我用jquerytools制作的,就是我不能插入上一个或下一个按钮来滚动主图像,这几乎和我在这里遇到的问题相同ol@AhmetCanGüven-我不得不不同意不修改的建议。这种封闭的思维水平并不是那些“大量开发人员”的原因处于编写插件的水平……如果你想争辩说它可能会降低你的项目的可维护性,那就太棒了,但是不要散布无知和“黑盒开源项目”的神话。
_draw = function(pos) {
            var dim = {
                width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10),
                height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10),

                top : parseInt(final_pos.top, 10),
                left : parseInt(final_pos.width, 10)
            };

            if (typeof final_pos.opacity !== 'undefined') {
                dim.opacity = pos < 0.8 ? 0.8 : pos;
            }
$('body').append(
        tmp = $('<div id="fancybox-tmp"></div>'),
        loading = $('<div id="fancybox-loading"><div></div></div>'),
        overlay = $('<div id="fancybox-overlay"></div>'),
        limit = $('<div id="limit"></div>')             
);

wraplimit = $('<div id="wraplimit"></div>').append( limit ).appendTo('body');           
thebox = $('<div id="thebox"></div>').append('<div id="comrigtt"></div>').appendTo( overlay )    
wrap = $('<div id="fancybox-wrap"></div>').append().appendTo( limit );

outer = $('<div id="fancybox-outer"></div>')
.append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>')
.appendTo( wrap );