Вопрос

I have a piece of javascript code:

var intervalId;
intervalId = setInterval(fetchData, 2000);

$('.campaign-select li').on("click", "a", function(event)
{
    window.clearInterval(intervalId);
    intervalId = setInterval(fetchData_id($(this).data('campaign-id')), 2000);
});

The first setInterval was correct, the function fetchData is correctly loaded each 2 seconds.

But when I click the .campaign-select li a element, the fetchData_id is executed but only once, not repeated as expected with setInterval.

Any help?

Thanks.

Это было полезно?

Решение

You can't pass parameter in the setInterval function.

That being said, you should try this :

$('.campaign-select li').on("click", "a", function(event){
    window.clearInterval(intervalId);
    var $this = $(this)
    intervalId = setInterval(function(){
        fetchData_id($this.data('campaign-id'))
    }), 2000);
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top