Мне показалось, что следующее решение самое простое и работает очень хорошо.
Я даю класс 'пульсировать' элементу, который хочу пульсировать следующим образом:
<div id="buttons">
<%= link_to '', new_greeting_path, :remote => true, :id => "BtnBoxGreeting", :class => "button-post pulsate" %>
</div>
По нажатию кнопки я удаляю класс:
var greeting_timing = 8000;
$('.pulsate').effect('pulsate', { times: 3 }, 800,function(){
setInterval(showPulsating, greeting_timing);
});
function showPulsating(){
$('.pulsate').effect('pulsate', { times: 3 }, 800, '');
}
$("div#buttons>a").click(function(){
$(this).removeClass("pulsate");
});
Таким образом, мне не нужно было беспокоиться о том, что Интервал начинается снова.