2017-05-04 2 views
0

J'essaie de démarrer setInterval lorsque l'utilisateur appuie sur un bouton. L'identifiant du bouton est #begin. J'ai essayé différentes méthodes, mais setInterval ne fonctionne pas du tout. Tout moyen de faire fonctionner cela? Merci!Début setInterval lorsque le bouton est cliqué

 $(function() { 
    count = 0; 
    wordsArray = ["Text 1", "Text 2", "Text 3", "Text 4", "Text 5", "Text 6"]; 
    setInterval(function() { 
    count++; 
    $(".first").fadeOut(400, function() { 
     $(this).text(wordsArray[count % wordsArray.length]).fadeIn(400); 
    }); 
    }, 5000); 
}); 
+0

où est le bouton événement click peut u partager votre code, nous allons T'aider. – Venkatachalam

+0

S'il vous plaît ajouter le code en fonction de votre question, et essayez d'expliquer votre problème avec max de visualisation –

Répondre

3

$(function() { 
 
    
 
\t $('#begin').click(function(){ 
 
\t \t count = 0; 
 
    wordsArray = ["Text 1", "Text 2", "Text 3", "Text 4", "Text 5", "Text 6"]; 
 
    setInterval(function() { 
 
    count++; 
 
    $(".first").fadeOut(400, function() { 
 
     $(this).text(wordsArray[count % wordsArray.length]).fadeIn(400); 
 
    }); 
 
    }, 5000); 
 
\t }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="button" id="begin" value="Start" /> 
 
<div class="first"> 
 

 
</div>

0

solution Javascript:

document.getElementById('button').addEventListener('click', function() { 
    setInterval(tick, 100); 
}); 

function tick() { 
    console.log('tick'); 
} 

un jQuery pourrait ressembler à quelque chose comme ceci:

$('#button').click(function() { 
    setInterval(tick, 100); 
}); 

Bonne pratique serait de stocker l'intervalle, vous pouvez l'effacer, chaque fois que vous avez besoin:

const interval = setInterval(tick, 100); 

// Clear it this way 
clearInterval(interval); 
0

vous utilisez JQuery, vous pouvez ajouter un rappel à cliquer sur l'action

$("#begin").click(function(event){ 
    //start your timer like 
    var count = 0, 
    wordsArray = ["Text 1", "Text 2", "Text 3", "Text 4", "Text 5", "Text 6"]; 
    setInterval(function() { 
    count++; 
    $(".first").fadeOut(400, function() { 
     $(this).text(wordsArray[count % wordsArray.length]).fadeIn(400); 
    }); 
    }, 5000); 

}); 
0

$('#begin').click(function(){ 
 
\t count = 0; 
 
    wordsArray = ["Text 1", "Text 2", "Text 3", "Text 4", "Text 5", "Text 6"]; 
 
    setInterval(function() { 
 
    count++; 
 
    $(".text_display").fadeOut(400, function() { 
 
     $(this).text(wordsArray[count % wordsArray.length]).fadeIn(400); 
 
    }); 
 
    }, 5000); 
 
})
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
 
<button id="begin"> 
 
Submit 
 
</button> 
 

 
<div class="text_display"> 
 
</div>