jqueryfancybox,从初始函数中获取一个变量

jqueryfancybox,从初始函数中获取一个变量,jquery,variables,fancybox,Jquery,Variables,Fancybox,这是给那些对fancybox有一点了解的人,或者比我更了解它背后的jquery内容的人(应该不难):) 根据中描述的情况,我添加了一个新值,fancybox主函数从单击的链接中检索该值 ; (function($) { var tmp, loading, overlay, wrap, outer, content, close, title, perma, nav_left, nav_right, perma是我的变量;它将在\u start函数中用于从中检索值: 如果此时我快速发出警报(pe

这是给那些对fancybox有一点了解的人,或者比我更了解它背后的jquery内容的人(应该不难):)

根据中描述的情况,我添加了一个新值,fancybox主函数从单击的链接中检索该值

; (function($) {
var tmp, loading, overlay, wrap, outer, content, close, title, perma, nav_left, nav_right,
perma
是我的变量;它将在
\u start
函数中用于从
中检索值:

如果此时我快速发出
警报(perma)
,我会确认变量正在按预期检索

现在,这发生在函数
\u start
的内部,在主函数$的内部;但是,我需要在这些函数之外,在
$.fancybox.init
中的脚本中使用这个变量,我将在这里使用它:

$('#permabox').bind("click", function(){
        window.location.replace(perma);
    });
但是在这里,
perma
值返回为
undefined


我如何获得另一个函数中的值以将其用于此函数?

我再次找到了我自己问题的答案:

1) 变量必须在_finish函数的开头声明:

_finish = function () {
        var perma; (...)
2) 奇怪的是,var perma不应该在返回它的函数中调用:

_giveMePerma = function () {
            /*var perma;    this breaks it*/
            return perma;
        };
在将div附加到fancybox外部之后,上述内容最终将用于_finish,如下所示:

$('#permabox').bind("click", function(){
        var permalink = _giveMePerma();
        window.location.assign(permalink);
    });//permabox
这将打开由函数_giveMePerma检索的permalink,该函数从链接中包含并由fancybox收集的变量中检索它


仅此而已:)

请注意,我尝试使用
window.perma='null'在主函数之前声明变量,但它仍然返回未定义的…这里有一些奇怪的东西(对我来说很奇怪)。如果我创建一个新函数来返回我想要的值,它的工作原理如下:
perma=selectedOpts.perma | | |(obj.nodeName?$(obj.attr('perma'):obj.perma)| |‘;警报(perma)//返回正确的值_giveMePerma=function(){var perma;alert(perma);//返回未定义的}虽然我不明白。。。我在main函数中声明了该变量,该函数包含上述内容。我在函数“\u giveMePerma”中重新声明。为什么它没有定义??
$('#permabox').bind("click", function(){
        var permalink = _giveMePerma();
        window.location.assign(permalink);
    });//permabox