Afficher Redirection vers .. Compte à rebours PHP
-
14-10-2019 - |
Question
Je le code à ce jour qui redirige l'utilisateur au bout de 5 secondes à l'URL correcte:
<?php
$url = $_GET['url'];
header("refresh:5;url=$url");
include('ads.php');
?>
S'il vous plaît pourriez-vous me dire comment je pouvais afficher un compte à rebours en disant Redirection vers .. avec .. étant la quantité de secondes. Je suis nouveau pour le développement web si tout le code sera utile!
La solution
<script type="text/javascript">
(function () {
var timeLeft = 5,
cinterval;
var timeDec = function (){
timeLeft--;
document.getElementById('countdown').innerHTML = timeLeft;
if(timeLeft === 0){
clearInterval(cinterval);
}
};
cinterval = setInterval(timeDec, 1000);
})();
</script>
Redirecting in <span id="countdown">5</span>.
Vous pouvez essayer.
Autres conseils
Comme il est une question de débutant commun; Je voulais juste souligner que les meilleures pratiques setInterval
devraient, et peut éviter habituellement à l'aide setTimeout
récursive dans une fonction.
Par exemple:
var timer = 5,
el = document.getElementById('countdown');
(function t_minus() {
'use strict';
el.innerHTML = timer--;
if (timer >= 0) {
setTimeout(function () {
t_minus();
}, 1000);
} else {
// do stuff, countdown has finished.
}
}());
excellent code par Kyle. Je l'ai modifié la minuterie avec un bouton de pause et de reprendre.
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
var time_left = 50;
var cinterval;
var timestatus=1;
function time_dec(){
time_left--;
document.getElementById('countdown').innerHTML = time_left;
if(time_left == 0){
clearInterval(cinterval);
}
}
function resumetime()
{
//time_left = 50;
clearInterval(cinterval);
cinterval = setInterval('time_dec()', 1000);
}
function defaultstart()
{
time_left = 50;
clearInterval(cinterval);
cinterval = setInterval('time_dec()', 1000);
}
function stopstarttime()
{
if(timestatus==1)
{
clearInterval(cinterval);
document.getElementById('stopbutton').value="Start";
timestatus=0;
}
else
{
clearInterval(cinterval);
cinterval = setInterval('time_dec()', 1000);
document.getElementById('stopbutton').value="Stop";
timestatus=1;
}
}
defaultstart();
</SCRIPT>
</HEAD>
<body>
Redirecting In <span id="countdown">50</span>.
<INPUT TYPE="button" value="stop" id="stopbutton" onclick="stopstarttime()">
</body>
</HTML>
Voici mon avis sur la question, sans variables en dehors de la fonction. Cela dépend jQuery.
function count_down_to_action(seconds, do_action, elem_selector)
{
seconds = typeof seconds !== 'undefined' ? seconds : 10;
$(elem_selector).text(seconds)
var interval_id = setInterval(function(){
if (seconds <= 0)
{
clearInterval(interval_id);
if (typeof do_action === 'function')
do_action();
}
else
$(elem_selector).text(--seconds);
},1000)
}
Voici un exemple utilisant http://jsfiddle.net/VJT9d/