intervalIsClear が true の場合、hoveredItemIndex は LI 要素のインデックスを正常に取得しています。
intervalIsClear が false の場合、hoveredItemIndex は setTimeout() 内で宣言されていますが、-1 を返しています。setTimeout() でラップされると、インデックスが見つからないのはなぜですか?
function()
{
if (intervalIsClear == true){
hoveredItemIndex = $('.menu li').index(this);
changeToHoverText();
} else {
hello = setTimeout(function(){
hoveredItemIndex = $('.menu li').index(this);
alert (hoveredItemIndex);
changeToHoverText();
},500);
}
}