Changement setInterval valeur dynamiquement

Je veux changer la valeur de l'intervalle de setInterval de façon dynamique. Je suis en difficulté en raison de la présence d'une boucle en setInterval fonction de rappel. J'ai vu trop de questions sur stackoverflow. Mais il n'y a aucune solution qui peut m'aider. Si quelqu'un connais la réponse alors s'il vous plaît expliquer avec un exemple. Je Vous Remercie.
Voici mon code.

<html>
<head>
<script type="text/javascript">
var speed = 10;
function updateSlider(slideAmount) {
speed = slideAmount;
}
function load() {
downloadUrl("points.xml", function (data) {
/* code */
abc();
});
function abc() {
function track() {
/* code */
downloadUrl("points.xml", function (data) {
var xml = data.responseXML;
var points = xml.documentElement.getElementsByTagName("point");
var i = 0;
setInterval(function () {
if (i != points.length) {
alert(speed);
}
i++;
}, 100 * speed);
});
}
track();
}
}
function downloadUrl(url, callback) {
var request = window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest;
request.onreadystatechange = function () {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request, request.status);
}
};
request.open('GET', url, true);
request.setRequestHeader("Content-type", "text/xml");
request.send(null);
}
function doNothing() {
}
</script>
</head>
<body onload="load();">
<div id="slider">
5% <input id="slide" type="range" min="1" max="20" step="5" value="10" onchange="updateSlider(this.value)" /> 200%
</div>
<div id="chosen">10</div>
</body>
Une fois qu'un intervalle est défini, il ne peut pas être modifiée, mais il peut être arrêté avec clearInterval et de réinitialisation. Pour vos besoins, utilisez setTimeout et à maintes reprises à nouveau avec le changement de la valeur de délai d'expiration.
Vous pouvez cette réponse

OriginalL'auteur Akshay Vaghasiya | 2015-06-09