J'ai besoin d'insérer une minuterie et un clic sur la page suivante de mon formulaire après le compte à rebours. Voici ma forme.
Je crois que je pourrais implémenter quelque chose en utilisant soit JS de base, soit jQuery (il y a ce plugin jQuery cela semble prometteur.
Pour les pages d'invite, j'ai besoin de 30 secondescompte à rebours, et pour la page de formulaire immédiatement après j'ai besoin d'un compte à rebours de 5 minutes. Comment implémenter JS et / ou jQuery dans Wordpress et / ou Gravity Forms spécifiquement?
Je n’ai pas vraiment beaucoup de code pour commencer, mais c’est ce que j’ai eu jusqu’à présent:
$(document).ready(function () { seconds = parseInt($("#countdown").attr("data-timelimit")); var date = new Date(); date.setSeconds(date.getSeconds() + seconds); $("#countdown").countdown({ date: date, onEnd: goToNextPage, render: function(date) { return $(this.el).html(""+ (this.leadingZeros(date.min)) + " : " + (this.leadingZeros(date.sec)) + " sec"); } }); $("#next_button").click(function (e) { e.preventDefault(); e.stopPropagation(); goToNextPage(); });
</ pre></ code>
Je n’ai pas créé ce code moi-même, donc je ne suis pas sûr que cela fonctionne ou si c’est la bonne piste non plus.
Réponses:
1 pour la réponse № 1setTimeout devrait fonctionner pour votre cas d'utilisation. Quelque chose comme cela va naviguer sur google.com en 30 secondes:
Si le délai d'attente est variable, vous pouvez utiliser javascript pour interroger l'attribut de données et remplacer
30000
avec cette variable.setTimeout(function() { window.location.href = "https://google.com"; }, 30000);
1 pour la réponse № 2Si vous voulez, cliquez par programme sur votre ordinateur.
$("#next_button")
bouton une fois que la minuterie est terminée, essayez ceci. Je n'ai pas utilisécountdown()
mais je supposeonEnd
accepte une fonction anonymeseconds = parseInt($("#countdown").attr("data-timelimit")); var date = new Date(); date.setSeconds(date.getSeconds() + seconds); $("#countdown").countdown({ date: date, onEnd: function (){ $("#next_button").click(); }, render: function(date) { return $(this.el).html(""+ (this.leadingZeros(date.min)) + " : " + (this.leadingZeros(date.sec)) + " sec"); } }); $("#next_button").click(function (e) { e.preventDefault(); e.stopPropagation(); goToNextPage(); });