javascriptin temel timeout methodu ile yapabilirsin.Üzerine geldiğinde kısmını mouseover fonksyionu yardımıyla ypaıcaksın
setTimeout(fonksiyon,milisaniye);
atıyorum ;
(selector).mouseover(function(){
var isWaited = false;
setTimeout(function(){
isWaited = true;
},3000);
/**
* isWaited=true olduysa 3 saniye beklemiştir kalan fonksiyonlarımızı yerine getirebiliriz.
*/
});gibi bir bakış açısı ile çözebilirsin.
O şekilde olmuyor settimeout kodu bekletmiyor altındaki satırlar hemen çalıştığı için isWaited hep false kalmış gibi oluyor
Edit:Şu şekilde yaptım
$('.headergenel').mouseover(function(){
t=setTimeout(function(){
ayarlargoster(1);
},300);
});
$('.headergenel').mouseout(function(){
clearTimeout(t);
});