Try jQuery
$('.container4').mouseenter(function(){
var $this = $(this);
clearTimeout($this.data('timerMouseleave'));
$this.css('border', 'solid 3px red')
}).mouseleave(function(){
var $this = $(this);
var timer = setTimeout($.proxy(function(){
$this.css('border', 'solid 1px black')
}, this), 2000)
$this.data('timerMouseleave', timer)
})
Demo: Fiddle