Проблема в том, что .remove()
не может быть отложено. Это одна из тех функций, которая срабатывает сразу, что означает, что .delay()
ничего не делает.
Однако функция JavaScript setTimeout()
будет:
$('#g').click(function(){
$("#hi").hide("highlight", {}, 4000)
setTimeout('$("#<%= dom_id(@stock) %>").remove();', 4100)
});
Вот пример этого на jsFiddle .