Existe-t-il un moyen d'utiliser JQuery pour rediriger vers une URL spécifique après une période donnée?
Vous pouvez utiliser la fonction setTimeout()
:
// Your delay in milliseconds
var delay = 1000;
setTimeout(function(){ window.location = URL; }, delay);
Vous n'avez pas vraiment besoin de jQuery pour cela. Vous pouvez le faire avec du javascript simple en utilisant la méthode setTimeout :
// redirect to google after 5 seconds
window.setTimeout(function() {
window.location.href = 'http://www.google.com';
}, 5000);
$(document).ready(function() {
window.setInterval(function() {
var timeLeft = $("#timeLeft").html();
if(eval(timeLeft) == 0) {
window.location= ("http://www.technicalkeeda.com");
} else {
$("#timeLeft").html(eval(timeLeft)- eval(1));
}
}, 1000);
});
Vous pouvez utiliser
$(document).ready(function(){
setTimeout(function() {
window.location.href = "http://test.example.com/;"
}, 5000);
});
juste utiliser:
setTimeout("window.location.href='yoururl';",4000);
..where le '4000' est m.seconde
Oui, la solution consiste à utiliser setTimeout , comme ceci:
var delay = 10000;
var url = "https://stackoverflow.com";
var timeoutID = setTimeout(function() {
window.location.href = url;
}, delay);
notez que le résultat a été stocké dans timeoutID
. Si, pour une raison quelconque, vous devez annuler la commande, il vous suffit d'appeler
clearTimeout(timeoutID);
J'ai fait une démonstration simple qui demande le nombre de secondes X et redirige pour définir l'URL. Si vous ne voulez pas attendre la fin du décompte, cliquez simplement sur le compteur pour rediriger sans délai. Compteur simple qui décomptera pendant le temps écoulé au milieu de la page. Vous pouvez l'exécuter onclick ou pendant qu'une page est chargée.
J'ai également fait github repo pour ceci: https://github.com/GlupiJas/redirect-counter-plugin
EXEMPLE DE CODE JS:
// FUNCTION CODE
function gjCountAndRedirect(secounds, url)
{
$('#gj-counter-num').text(secounds);
$('#gj-counter-box').show();
var interval = setInterval(function()
{
secounds = secounds - 1;
$('#gj-counter-num').text(secounds);
if(secounds == 0)
{
clearInterval(interval);
window.location = url;
$('#gj-counter-box').hide();
}
}, 1000);
$('#gj-counter-box').click(function() //comment it out -if you dont want to allo count skipping
{
clearInterval(interval);
window.location = url;
});
}
// USE EXAMPLE
$(document).ready(function() {
//var
var gjCountAndRedirectStatus = false; //prevent from seting multiple Interval
//call
$('h1').click(function(){
if(gjCountAndRedirectStatus == false)
{
gjCountAndRedirect(10, document.URL);
gjCountAndRedirectStatus = true;
}
});
});