ユーザーがサイトにアクセスしたときに自動的にローディングGIFを表示し、5秒後に消えるようにしたいのですが、どうすればいいですか?
このスクリプトは、私が望むことをやってくれますが、自動的に実行されません。ユーザーはボタンをクリックしなければならず、これでは目的を達成できません。
<input type = "button" value = "Show image for 5 seconds" onclick = "show()"><br><br>
<div id = "myDiv" style="display:none"><img id = "myImage" src = "images/ajax-loader.gif"></div><br>
<script type = "text/javascript">
function show() {
document.getElementById("myDiv").style.display="block";
setTimeout("hide()", 5000); // 5 seconds
}
function hide() {
document.getElementById("myDiv").style.display="none";
}
</script>
もし私がこれを行うことができる任意の方法、またはそれを行うためのより良い方法がある場合は、コメントをしてください。
onclick="show()"を削除し、JavaScriptブロックの最後の行として
show();` を追加するだけです。
また、私はグローバル名前空間汚染に敏感なので、次のようにします。
<script type="text/javascript">
(function(){
var myDiv = document.getElementById("myDiv"),
show = function(){
myDiv.style.display = "block";
setTimeout(hide, 5000); // 5 seconds
},
hide = function(){
myDiv.style.display = "none";
};
show();
})();
</script>