-1

機能させようとしているイベントリスナーがあり、実行できないようです。Webkit 遷移を促す div のクラスを切り替える onclick セットアップがあります。その遷移が終了したら、jquery に外部ページを div にロードさせたいのですが、ロードしません。これは私が設定したjsです

<script type="text/javascript">
function fullscreen_slider_load() {
var fullscreen = document.getElementById("fullscreen");

function fullscreen_done1() {
    console.log("done called");
    fullscreen.removeEventListener("webkitTransitionEnd", fullscreen_done1);
    fullscreen.addEventListener("webkitTransitionEnd", fullscreen_done2);
    $(function fullscreen_load() {
    $('#fullscreen')
       .html('<img src="http://www.klossal.com/loader.gif"/>')
       .load('http://www.klossal.com/portfolio/space_fullscreen.html');
});


function fullscreen_done2() {
    fullscreen.removeEventListener("webkitTransitionEnd", fullscreen_done2);

};
</script>

ロードされていない理由はわかりませんが、これについて何か助けていただければ幸いです。

4

1 に答える 1

0

あなたのコードのこの部分は私には意味がなく、あなたが望んでいたことと一致していないように見えます。また、投稿したコードには適切なブレースがないようです:

$(function fullscreen_load() {
$('#fullscreen')
   .html('<img src="http://www.klossal.com/loader.gif"/>')
   .load('http://www.klossal.com/portfolio/space_fullscreen.html');
});

document.ready()この権利を理解していれば、新しいコンテンツを にロードするためのイベント ハンドラーがセットアップされ#fullscreenます。それがあなたがここで望んでいることだとは思いません。

また、トリガーするイベントリスナーを追加している場所もどこにもありません。ここでは使用されていないfullscreen_done1()ため、イベントリスナーの理由もわかりませんfullscreen_done2()

最初の CSS トランジションが完了したときにフルスクリーン オブジェクトに新しいコンテンツをロードさせたいだけで、別の場所で呼び出すイベント リスナーを登録している場合はfullscreen_done1()、これを使用できます (固定のインデントとブレース):

<script type="text/javascript">
function fullscreen_slider_load() {
    var fullscreen = document.getElementById("fullscreen");

    function fullscreen_done1() {
        console.log("done called");
        fullscreen.removeEventListener("webkitTransitionEnd", fullscreen_done1);
        fullscreen.addEventListener("webkitTransitionEnd", fullscreen_done2);
        $(fullscreen)
           .html('<img src="http://www.klossal.com/loader.gif"/>')
           .load('http://www.klossal.com/portfolio/space_fullscreen.html');
    }

    function fullscreen_done2() {
        fullscreen.removeEventListener("webkitTransitionEnd", fullscreen_done2);
    }
}
</script>

これよりも複雑なことをしようとしていた場合は、最初の移行が完了した後に他に何をしようとしていたかを明確にしてください。

PS 関数宣言の下のコードをインデントしないと、コードの意図を誤解しやすくなります。

また、コードは Firefox または Opera (CSS3 遷移をサポートする Webkit 以外のブラウザー) でも機能しません。

于 2012-07-16T17:08:01.653 に答える