4

单击按钮时,我试图从我的 Flash 文件中调用 jQuery 函数。我试图在 stackoverflow 和 google 上搜索类似的问题,但我无法解决这个问题。

仅供参考,我在本地和在线都对此进行了测试,但没有结果。

Actionscript 3.0 调用:

    导入 flash.external.ExternalInterface;

    open_mc.buttonMode = true;
    open_mc.useHandCursor = true;

    open_mc.addEventListener(MouseEvent.CLICK, ClickFunc);
    函数 ClickFunc(evt:MouseEvent):void
    {
    ExternalInterface.call("openContainer", "open_god_dammit");
    }


jQuery:

    $(文档).ready(函数() {

        $("#eas_sidekick_container").hide();
        $("#eas_sidekick_container").css('width', '0px');

        函数 openContainer(open_god_dammit)
        {
            $("#eas_sidekick_container").show();
            $("#eas_sidekick_container").animate({
                宽度:'850px'              
            });
            $('html, body').animate({
                向左滚动:'850'
            });
        }   
    });
4

2 回答 2

1

我终于找到了问题所在,这是由于我在 html 中嵌入 flash 的方式。

由于我在调用函数时以某种方式使用了 swfobject,因此它在调用函数时无法协同工作,因此我也将函数移至 document.ready 调用之外的函数上方,因此它是解决方案的一部分。

因此,如果您想调用外部 jQuery 函数,请不要使用 swfobject 将 Flash 嵌入到您的 html 文件中。

于 2013-01-30T08:55:51.330 回答
0

您的 openContainer 函数应该在内部 jQuery 函数之外:

$(document).ready(function() {

    $("#eas_sidekick_container").hide();
    $("#eas_sidekick_container").css('width', '0px');

});

function openContainer(open_god_dammit)
{
    $("#eas_sidekick_container").show();
    $("#eas_sidekick_container").animate({
        width: '850px'              
    });
    $('html, body').animate({
        scrollLeft: '850'
    });
}   
于 2013-01-28T15:18:43.580 回答