Je suis très nouveau dans JS et j'essaie de modifier le système de megamenu JavascriptKit basé sur jQuery pour retarder l'affichage du menu jusqu'à ce que la souris planait sur l'objet d'ancrage pendant une durée spécifiée. Le problème auquel je suis actuellement confronté est qu'il semble que le clearTimeout qui est appelé au "mouseout" ne suspende que setTimeout, plutôt que de l'annuler, de l'effacer, de le réinitialiser.Javascript: clearTimeout semble seulement suspendre, ne pas réinitialiser ou effacer?
À ce stade, je montre juste une alerte après un appel setTimeout. Actuellement, j'ai l'intervalle de délai d'attente fixé à 2000 pour les tests. Par exemple, comme je l'ai réglé à 2 secondes de retard en ce moment, si je souris sur l'objet 4 fois pendant 1/2 seconde, la 5ème fois que je souris sur l'objet ma boîte d'alerte de test apparaît instantanément.
Je pensais que clearTimeout était supposé détruire complètement l'événement chronométré. Pourquoi semble-t-il seulement faire une pause dans le compte à rebours?
teststuff:function(){
if(jkmegamenu.toggletest==1)
{
jkmegamenu.executetimedcommand()
jkmegamenu.toggletest=0
}
else
{
//jkmegamenu.executetimedcommandcancel()
clearTimeout(jkmegamenu.teststuff);
}
},
executetimedcommand:function(){
if(jkmegamenu.toggletest==1)
{
alert('abcde')
}
},
canceltimedcommand:function(){
clearTimeout(jkmegamenu.teststuff);
},
Veuillez utiliser le code. –
Ceci est mon premier post ici. J'ai trouvé le bouton de code. Va l'utiliser la prochaine fois. –
ne pas oublier d'accepter une réponse si elle résout votre problème (* toux * mine * toux *): D – lincolnk