Назовите это так:
$(function(){
var kP = new Kompost();
setInterval(kP.play, kP.interval);
});
Проблема в том, что kP
находится внутри этого обработчика document.ready
и не , доступного в глобальном контексте (он доступен только внутри этого замыкания). Когда вы передаете строку в setInterval()
или setTimeout()
, она выполняется в глобальном контексте.
Если вы проверите свою консоль, вы увидите, что она выдает ошибку, говоря, что kP
не определено, что в этом контексте является правильным. В целом это должно выглядеть так:
var Kompost = function()
{
this.interval = 5000;
var kompost = this;
this.play = function() {
alert("hello");
};
};
$(function(){
var kP = new Kompost();
setInterval(kP.play, kP.interval);
});
Вы можете увидеть, как это работает здесь