修改Jquery. fancybox-1.3.4.js文件,重写_draw函数
Modifying the file jquery.fancybox-1.3.4.js to rewrite _draw function, Jquery
我正在做一个基于fanybox的画廊-实际上我已经修改了字段来实现我需要的,我已经做到了,我发现的最后一个问题是在这部分代码:
} else {
fx.prop = 0;
$(fx).animate({prop: 1}, {
duration : currentOpts.changeSpeed,
step : _draw,
complete : finish_resizing
});
绘制函数在这里,所以你可以看到:
_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
});
},
我的问题是如何修改_draw
函数,或者如何为NEXT和PREV设置动画函数。同时禁用不透明度。
我需要一个类似于"可滚动"的功能。在fanybox的主图像上(类似于http://jquerytools.org/demos/scrollable/)
所以我就是没法把这件事做完。
有没有其他的方法从花哨的盒子选项?因为我找不到他们。
无论如何,这是原始文件-
http://demo-store.prestashop.com/js/jquery/jquery.fancybox-1.3.4.js
这些是我对line 663
所做的更改:
_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 );
这听起来像你想添加自定义动画的下一个和上一个不同于主动画?您是否检查了http://fancybox.net/api的文档并使用了next和prev命令…
如果你想要的是你在小提琴上发布的效果,那么我建议你使用以下令人讨厌的hack,(或者放下fanybox,然后从盒子里抓一个支持这种效果的)。
1)在触发器上启用fancybox2)使用jQuery或其他在div中创建缩略图,然后将该div附加到已创建的fancybox元素的底部(在body的底部)3)连接您创建的缩略图,以使用现有的fanybox API用于next/prev/specific等。4)避免触及js本身
相关文章:
- 如何重写下面的函数,使其不会't用于循环
- 重写CSS:使用jquery显示none属性
- Jquery Datatables错误:无效的JSON基元:draw
- 重写需要javascript中带有import关键字的语法
- 模态提示-如何重写此代码
- 如何重写一个方法,并且仍然能够在重写的方法中使用基方法
- 重写不带defineProperty的对象getter
- 如何重写Javascript If语句以选择Classes而不是ID's的HTML格式
- 将其中一个异步方法重写为使用promise的方法
- 使用jquery重写html数字
- 如何用javascript重写html文档
- 在类外重写Javascript方法,使用默认行为
- Javascript:重写函数's原型——糟糕的做法
- 如何使用tspan拆分Ext.draw.text中的长文本
- 如何将超链接添加到通过传单创建的传单多段线.Draw
- 将纯javascript代码重写为使用jQuery的代码
- 阅读重写URL-javascript
- 重写以下javascript代码
- 重写javascript函数定义
- 将代码从jquery重写为javascript