- Products -


Software


NEWS


Special



- Knowledge -


Category × Tag



- Like -

公開
作成日:2022/11/09 11:47:51
更新日:2022/11/09 16:54:00

Javascriptで画像のロードではなく描画の完了を把握する方法

・onloadイベントはsrcで指定された画像を取得したタイミングで発生してしまう。
・これにより、取得は完了しているが、描画は途中というタイミングでjsの処理が行われる。

・ちゃんと画面表示(描画)まで終わったタイミングで次の処理を行いたい。というケースでは、onloadは使えない。
・これに対処するためには、一度アニメーションさせ、その完了イベントを利用する。「ontransitionendイベント」

使い方



<style>
    .fade_off {
        opacity: 0;
    }

    .fade_on {
        opacity: 1;
        -webkit-transition: all 1s;
        -moz-transition: all 1s;
        -o-transition: all 1s;
        -ms-transition: all 1s;
        transition: all 1s;
    }
</style>

<div>
    <p id="imagemessage">ただいま画像を読み込み中……</p>
    <img src="無題.bmp" class="fade_off" id="target-image" ontransitionend="ImageGuide();">
</div>

<script>
    setTimeout(() => {
        $("#target-image").removeClass("fade_off").addClass("fade_on");    
    }, 100);
    

    function ImageGuide() {
        document.getElementById('imagemessage').innerText = '読込完了しました!';
        setTimeout(() => {
            alert('読込完了しました!');
        }, 100);
    }
</script>



参考


https://www.gipservice.com/blog/0930/

https://developer.mozilla.org/en-US/docs/Web/API/Element/transitionend_event

https://developer.mozilla.org/ja/docs/Web/API/Element/transitionend_event

https://cly7796.net/blog/javascript/process-with-javascript-after-completing-css-animation/


Category



Tag




関連記事


{{tmp.name}}

{{article.category}} {{article.title}}