Je construis une page interstitielle, en utilisant <div> et JavaScript, un script vraiment simple mais soigné.
Tout fonctionne, mais je voudrais également fermer les div après quelques secondes (comme 10 secondes, par exemple). Voici ce que j'ai jusqu'à présent:
Pour charger les div, j'ai une fonction onload comme celle-ci:
onload="document.getElementById('div1').style.display='block';document.getElementById('div2').style.display='block'"
Pour masquer les divs, j'ai une fonction onclick comme celle-ci:
<a href = "javascript:void(0)" onclick = "document.getElementById('div1').style.display='none';document.getElementById('div2').style.display='none'"></a>
Comment puis-je exécuter la fonction onclick avec une minuterie, et comment puis-je le faire? Il doit également être en JavaScript.
Je crois que vous recherchez la fonction setTimeout .
Pour rendre votre code un peu plus net, définissez une fonction distincte pour onclick dans un <script>
bloc:
function myClick() {
setTimeout(
function() {
document.getElementById('div1').style.display='none';
document.getElementById('div2').style.display='none';
}, 5000);
}
puis appelez votre fonction à partir de onclick
onclick="myClick();"
setTimeout vous aidera à exécuter n'importe quel code JavaScript en fonction de l'heure que vous avez définie.
Syntaxe
setTimeout(code, millisec, lang)
Usage,
setTimeout("function1()", 1000);
Pour plus de détails, voir http://www.w3schools.com/jsref/met_win_settimeout.asp
onclick = "setTimeout(function() { document.getElementById('div1').style.display='none';document.getElementById('div2').style.display='none'}, 1000)"
Remplacez 1000 par le nombre de millisecondes que vous souhaitez retarder.