菜單延時顯示

var timeout;
mouse_events.mouse_over = function(){
	$("#menu li").mouseover(function(){
		dateIn = new Date();
		timeIn = dateIn.getTime();
		timeOut = 0;
		flag = true;	
		var p = this.className;
		timeout = setTimeout(function(){mouse_events.aShow(p)}, 500);
	});
};

mouse_events.mouse_out = function(){
	$("#menu li").mouseout(function(){
		dateOut = new Date();
		timeOut = dateOut.getTime();
		timeIn = 0;
		flag = false;	
		
		if (divShow_flag != true) {
			$("#menu li a").removeClass('hover');
		}
		clearTimeout(timeout);
		clearTimeout(time_temp);
	});
};

mouse_events.aShow = function(classname){
	$('#menu .'+classname+' a').addClass('hover');	
};

var dateOut;
var timeOut;
var dateIn
var timeIn;
var flag = false;
var divShow_flag = false;
var $target;
var target;
var css;
var time_temp;

function showDiv() {
	if (flag = true && timeIn > 0) {
		$target = menuPopup.obj.css(css).find('.' + target).show();
	}
	flag = false;
}
var menuPopup = {};
menuPopup.timer = false;
menuPopup.ini = function(){
    menuPopup.obj = $('#menu-popup');
    $('#menu li a').hover(function(){
        menuPopup.stop();
        $('#menu li a').removeClass('active');
        $('#menu li a').removeClass('hover');
        menuPopup.obj.find('.popup').hide();
        
        target = this.parentNode.className;
        
        var position = $(this).offset();
        var shadowOffset = 2;
        if ($.browser.msie && parseInt($.browser.version) == 6) 
            shadowOffset = 0;
       
       	css = {
            top: position.top + 30,
            left: $('#menu li a').eq(0).offset().left - shadowOffset
        };

        if(iPx()){
        
        	var $target = menuPopup.obj.css(css).find('.' + target).show();
         					
			if ($target.length > 0) 
			$(this).addClass('hover');
			
		}else{
			if (flag = true) {
				time_temp = setTimeout(showDiv, 500);		
			}
		}
        if ($(this).parent().attr('class') != $('#menu').data("normal")) {
            menuHighlight.exec();
        }
        
    }, menuPopup.hide);
    
    menuPopup.obj.hover(menuPopup.stop, menuPopup.hide);
    
};
menuPopup.stop = function(){
	divShow_flag = true;

    if (menuPopup.timer) 
        clearTimeout(menuPopup.timer);
}
menuPopup.hide = function(){
    menuPopup.stop();
    menuPopup.timer = setTimeout(function(){
        menuPopup.obj.css('top', '-1000px');
        $('#menu a').removeClass('hover');
        menuHighlight.exec();
    }, 10);
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章