一个jquery tab效果的延迟执行,方法中this的指向问题...

在网上搜到某大牛写的hoverDelay方法,然后在套用的时候发现一些问题,怎么才能在用这个方法的时候,能获取到当前鼠标移上的li的index值...
代码如下

 (function($){
    $.fn.hoverDelay = function(options){
        var defaults = {
            hoverDuring: 200,
            outDuring: 200,
            hoverEvent: function(){
                $.noop();
            },
            outEvent: function(){
                $.noop();    
            }
        };
        var sets = $.extend(defaults,options || {});
        var hoverTimer, outTimer;
        return $(this).each(function(){
            $(this).hover(function(){
                clearTimeout(outTimer);
                hoverTimer = setTimeout(sets.hoverEvent, sets.hoverDuring);
            },function(){
                clearTimeout(hoverTimer);
                outTimer = setTimeout(sets.outEvent, sets.outDuring);
            });    
        });
    }      
})(jQuery);

$(function(){
    $('#box1_tit li').hoverDelay({
        hoverEvent:function(){
            var index = $('#box1_tit li').index(this);
            //alert(this);
            $('#box1_tit li').removeClass('nobg');
            $(this).addClass('active').siblings().removeClass('active');
            $(this).prev('li').addClass('nobg')
            $('#box1_con ul.tab_con').hide().eq(index).fadeIn('fast');
        }
    });

})

alert一下this,提示是[Object Window]....
index一直是-1,获取不到,该怎么改呢。。。

call修改下函数内this的指向

              return $(this).each(function () {
                 var me = this;/////////
                 $(this).hover(function () {
                     clearTimeout(outTimer);
                     hoverTimer = setTimeout(function () { if (typeof sets.hoverEvent == 'function') sets.hoverEvent.call(me) }, sets.hoverDuring);
                 }, function () {
                     clearTimeout(hoverTimer);
                     outTimer = setTimeout(function () { if (typeof sets.outEvent == 'function') sets.outEvent.call(me) }, sets.outDuring);
                 });
             });