﻿(function($){  
   $.fn.extend({ 
		//定义插件名称	   
    mainMenuChange: function(options) {
	    //为插件参数设定默认值
		var  defaults = {
			 selnow:0, //当前页序列号
			 selclass:"sel",    //选中类名
			 otherli:"none", //相邻li的方向（prev为前一个，next为后一个,none为无）
			 liclass:"none", //给相邻li加的类名(none为无）
			 backorno:"back"
			  };  
			  //使用$.extend()覆盖插件中的默认值
	   var options = $.extend(defaults, options); 
	   var obj = $(this).find("li");//获取导航项
	   
	   var objnow=$(obj[options.selnow]);//选择当前页
	   menulioptions(objnow,options.selclass,options.otherli,options.liclass,"add");//消除相邻操作
	   
	   obj.mouseover(function(){  //鼠标经过时，当前导航项切换成选中状态
			 var prevsel=obj.closest("."+options.selclass);//之前选中导航项
			 menulioptions(prevsel,options.selclass,options.otherli,options.liclass,"remove");//消除选中
			 var $this=$(this);//当前导航项
			 menulioptions($this,options.selclass,options.otherli,options.liclass,"add");//添加选中
		 })
		 if(options.backorno=="back"){
		 obj.mouseout(function(){ 
		 //鼠标离开时，导航条恢复默认状态
			 var $this=$(this);//当前导航项
			 menulioptions($this,options.selclass,options.otherli,options.liclass,"remove");//消除选中
			 
			 menulioptions(objnow,options.selclass,options.otherli,options.liclass,"add");//还原选中
		 }); }
		 function menulioptions(objnow,selclass,otherli,liclass,option){
			 if(option=="add"){
				 objnow.addClass(selclass);//添加选中
			 }else{
				 objnow.removeClass(selclass);//消除选中
			 }
			 if(options.otherli!="none") otherlioptions(objnow,otherli,liclass,option);//消除相邻操作
		 }
		 function otherlioptions(objnow,otherli,liclass,option){//相邻li的操作函数
			if(option=="add"){
				switch(otherli){
					case "prev": objnow.prev().addClass(liclass);break;
					case "next": objnow.next().addClass(liclass);break;
					default:break;
				}
			}else{
				switch(otherli){
					case "prev": objnow.prev().removeClass(liclass);break;
					case "next": objnow.next().removeClass(liclass);break;
					default:break;
				}
			}
		}
   } 
  }); 
 })(jQuery); 
