4

ボタンをクリックしたときに、フラッシュ ファイルから 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:

    $(document).ready(function() {

        $("#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 にフラッシュを埋め込む方法が原因でした。

私はどういうわけかswfobjectを使用していたので、関数を呼び出すときに一緒に動作しません.

したがって、外部 jQuery 関数を呼び出したい場合は、swfobject を使用して 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 に答える