%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /disk/www/wwwroot/test-lingceed.echineselearning.biz/js/
Upload File :
Create Path :
Current File : /disk/www/wwwroot/test-lingceed.echineselearning.biz/js/jquery.emailmatch.js

/*
------------------
作者:noybo
邮箱:noyobo@gmail.com
博客:http://www.cnblogs.com/noyobo
------------------
*/
(function($){
	$.fn.emailMatch= function(settings){
		var defaultSettings = {
			emailTip:"请输入邮箱地址",
			aEmail:["qq.com","gmail.com","126.com","163.com","hotmail.com","yahoo.com","yahoo.com.cn","live.com","sohu.com","sina.com"], //邮件数组
			wrapLayer:"body",
			className:"mailListBox",
			emailRemember:true,
			autoCursor:false,
			position:"bottom" // bottom, left , right
		};
		/* 合并默认参数和用户自定义参数 */
		settings = settings ? $.extend(defaultSettings,settings):defaultSettings;
		return this.each(function(){
			var elem = $(this),t=0,l=0,
			w = elem.outerWidth(), 
			h = elem.outerHeight(),
//			h = 0,
			selectVal = sMail = inputVal = "",arrayNum = 0,
			isIndex = -1;
			
		/*	switch(settings.position){  // 判断 列表位置
				case "bottom":
					t = elem.position().top;
					l = elem.position().left;
				break;
				case "left":
					t = elem.position().top - h;
					l = elem.position().left - w;
				break;
				case "right":
					t = elem.position().top - h;
					l = elem.position().left + w;
				break;
				default:
					t = elem.position().top;
					l = elem.position().left;
			}*/
			t = elem.position().top;
			l = elem.position().left;
			var mailWrap = document.createElement("div");
			$(mailWrap).attr({"id":elem.attr("id"),"class":settings.className})
			//$(settings.wrapLayer).append(mailWrap);
			elem.parent().append(mailWrap);
			
			if($.trim(elem.val()) == ""){elem.val(settings.emailTip);};
			elem.focus(function(){
				arrayNum = 0;
				if($.trim(elem.val()) == settings.emailTip){elem.val('');}; // 清空 输入框 提示内容
				if($.trim(elem.val()) !=""){
					inputVal = $.trim(elem.val());
					isIndex = inputVal.indexOf("@");
					if(isIndex >= 0 ){
						sMail = inputVal.substr(isIndex + 1);
						inputVal = inputVal.substring(0,isIndex);
						if(sMail !=""){
							arrayNum = parseInt(!position(settings.aEmail,sMail)?0:position(settings.aEmail,sMail));
						}
					}
					if(settings.autoCursor){
						elem.val(inputVal);
						if($.browser.msie ){
							setCaretAtEnd(elem.attr("id"));
						}
					}
					showList($(mailWrap),w,h,t,l);
					createMailList(mailWrap,inputVal,sMail,settings.aEmail,arrayNum);
				};
			}).blur(function(){
				if(elem.val() == ''){
					elem.val(settings.emailTip);
					hideList($(mailWrap));
					return false;
				}; // 还原 输入框 提示内容
				enterVal(mailWrap,elem);
				hideList($(mailWrap));
			});
			elem.keyup(function(e){
				var suffixArray = [], eKey = e && (e.which || e.keyCode);
				//console.log(eKey);
				switch(eKey){
					case 9: // tab 按键
						return;
						break;
					case 13: { // 回车 
							enterVal(mailWrap,elem);
							hideList($(mailWrap));
					}break;
					case 38:{ // 方向键 上
						showList($(mailWrap),w,h,t,l);
						cursorMove(mailWrap,-1);
					}break;
					case 40: {// 方向键 下
						showList($(mailWrap),w,h,t,l);
						cursorMove(mailWrap,+1);
					}break;
					default:{
							inputVal = $.trim(elem.val());
						var	keyIndex = inputVal.indexOf("@");
						var suffix = "",suffixState = true;		
						if(keyIndex >= 0){
							suffix = inputVal.substr(keyIndex + 1);
							inputVal = inputVal.substring(0,keyIndex);
							$("#t2").text("BBB" + inputVal);
							if(suffix != '' && settings.emailRemember){ // 过滤数组
								for (var i = 0; i < settings.aEmail.length; i++) {
									if (settings.aEmail[i].indexOf(suffix) == 0) {
										suffixArray.push(settings.aEmail[i]);
										suffixState = false;
									}
								}				
							}
							if(suffix != '' && !settings.emailRemember){ // 当前高亮 选项 
								for (var i = 0; i < settings.aEmail.length; i++) {
									if (settings.aEmail[i].indexOf(suffix) == 0) {
										arrayNum = i;
										suffixState = false;
										break;
									}
								}
							}
						}
						
						suffixArray = suffixArray.length > 0 ? suffixArray:settings.aEmail;
						if(inputVal=="" && suffix == ""){
							hideList($(mailWrap));
							arrayNum = 0;
							createMailList(mailWrap,inputVal,suffix,settings.aEmail,arrayNum);
						}else{
							showList($(mailWrap),w,h,t,l);
							createMailList(mailWrap,inputVal,suffix,suffixArray,arrayNum);
						}
					}
				}
			});
			elem.change(function(e){
				var suffixArray = [];
				inputVal = $.trim(elem.val());
				var	keyIndex = inputVal.indexOf("@");
				var suffix = "",suffixState = true;		
				if(keyIndex >= 0){
					suffix = inputVal.substr(keyIndex + 1);
					inputVal = inputVal.substring(0,keyIndex);
					$("#t2").text("BBB" + inputVal);
					if(suffix != '' && settings.emailRemember){ // 过滤数组
						for (var i = 0; i < settings.aEmail.length; i++) {
							if (settings.aEmail[i].indexOf(suffix) == 0) {
								suffixArray.push(settings.aEmail[i]);
								suffixState = false;
							}
						}				
					}
					if(suffix != '' && !settings.emailRemember){ // 当前高亮 选项 
						for (var i = 0; i < settings.aEmail.length; i++) {
							if (settings.aEmail[i].indexOf(suffix) == 0) {
								arrayNum = i;
								suffixState = false;
								break;
							}
						}
					}
				}
				
				suffixArray = suffixArray.length > 0 ? suffixArray:settings.aEmail;
				if(inputVal=="" && suffix == ""){
					hideList($(mailWrap));
					arrayNum = 0;
					createMailList(mailWrap,inputVal,suffix,settings.aEmail,arrayNum);
				}else{
					showList($(mailWrap),w,h,t,l);
					createMailList(mailWrap,inputVal,suffix,suffixArray,arrayNum);
				}
				enterVal(mailWrap,elem);
			});
			
			if ($(this).live) {
				$(mailWrap).find("li:not('.first')").live('mouseover',function(){
					$(this).addClass("hover").siblings().removeClass("hover"); 
				});
				$(mailWrap).find("li:not('.first')").live('mousedown',function(){
					$(this).addClass("current").siblings().removeClass("current");
					enterVal(mailWrap,elem);
					hideList($(mailWrap));
				});
			} else {
				$(mailWrap).on('mouseover', "li:not('.first')", function(){
					$(this).addClass("hover").siblings().removeClass("hover"); 
				});
				$(mailWrap).on('mousedown', "li:not('.first')", function(){
					$(this).addClass("current").siblings().removeClass("current");
					enterVal(mailWrap,elem);
					hideList($(mailWrap));
				});
			}
			$(mailWrap).bind("mouseout",function(){
				$(mailWrap).find("li").removeClass("hover");
			});
		});
	};
	
	function cursorMove(o,n){
		var cursorList = $(o).find("li"),k = new Number();
		for(i=0;i<cursorList.length;i++){
			if(cursorList[i].className == "current"){
				k = i+n
				cursorList[i].className = "";
			};
		}
		if(k < 0) k =0;
		if(k >= cursorList.length - 1 ) k = cursorList.length - 1;
		cursorList[k].className = "current";
	}
	
	function setCaretAtEnd(field){ // IE 系列浏览器 在自动光标跳回文档首问题
		var b = document.getElementById(field);
		if (b.createTextRange){
			var r = b.createTextRange(); 
			r.moveStart('character',  b.value.length); 
			r.collapse(); 
			r.select();
		} 
	}
	
	function position(array,value){  // 取得 元素在数组中的位置
		for(var i in array){
			if(array[i]==value){
				return i;break;
			}
		}
	};	
	function enterVal(oWrap,elem){
//		console.log($(oWrap).find("li.current").text());
		var emailValue = $(oWrap).find("li.current").text();
		if(emailValue.indexOf('@') == 0){
			emailValue = $("input[name='email']").val();
		}
		
		if(emailValue != "" && emailValue != null && emailValue != undefined){
			elem.val(emailValue); // 获取高亮内容 到 输入框
		}
	};
	
	function showList(oElem,w,h,t,l){ // 显示 邮箱框架 并定位.
		oElem.css({"display":"block","top":h + t,"left":l,"width":w-2});
	};
	
	function hideList(oElem){ // 显示 邮箱框架 
		oElem.css({"display":"none"});
	};
	
	function createMailList(oWrap,sVal,suffix,aEail,nK){ // 创建 候选列表
		if(nK < 0 ) {nK = 0;}
		if(nK > aEail.length-1) {nK = aEail.length - 1;}
//		var mailList = "<li class='first'><span>请选择邮箱类型</span></li>";
		var mailList = "";
		var State = true; // 用户键入 后缀 是否匹配候选后缀 的状态
		
		for(k=0; k<aEail.length;k++){
			if(suffix!= '' && aEail[k].indexOf(suffix) == 0){
				State = false;
			}
		}
		
		nK = parseInt(suffix!= '' && State && !position(aEail,suffix)?0:nK);
		
		if(suffix !='' && State ){
			if(nK == 0){
				mailList += '<li class="current"><span>'+sVal+'</span>@'+suffix+'</li>';
			} else {
				mailList += '<li><span>'+sVal+'</span>@'+suffix+'</li>';
			}
		}
		if($.isArray(aEail)){
			$.each(aEail, function(i){
				if(State && suffix !=''){
					if(i == (nK-1) ){
						mailList += '<li class="current"><span>'+sVal+'</span>@'+aEail[i]+'</li>';	
					} else {
						mailList += '<li><span>'+sVal+'</span>@'+aEail[i]+'</li>';	
					}
				} else{
					if(i == nK){
						mailList += '<li class="current"><span>'+sVal+'</span>@'+aEail[i]+'</li>';	
					} else {
						mailList += '<li><span>'+sVal+'</span>@'+aEail[i]+'</li>';	
					}
				}
			});
		}
		mailList = "<ul>" + mailList + "</ul>";
		$(oWrap).html(mailList);
	};
})(jQuery);

Zerion Mini Shell 1.0
在线中文学校 7/24,专为华裔青少儿设计,教学经验丰富|灵犀中文
一对一在线课程
一对一在线辅导
灵犀中文 ── 学有”灵犀”一点通

1对1在线中文课程

  • 专为3-18岁华裔青少儿打造
  • 涵盖IB、AP、Alevel、IGCSE等考试辅导
  • 24/7都可以上课!

免费领取价值600元的中文学习大礼包

ft pic 3
国家/地区
search
 

search no result

 
ft pic 4
 
点击立即领取按钮,即表示您同意我们的服务条款和隐私保护。

banner ft gift

1对1个性化教学,专注于青少儿中文学习

华裔孩子学中文,1对1个性化教学
1对1个性化教学

因材施教,根据每个孩子的情况量身定制教学内容。

华裔孩子学中文,专属班主任
专属班主任
班主任全程跟踪,及时给家长反馈孩子学习情况,全方位保障孩子学有所成。
华裔孩子学中文,灵活的上课时间
灵活的上课时间
灵活的上课时间 ( 7*24 ),随时随地在线学中文。
华裔孩子学中文,多样化的趣味互动练习
多样化的趣味互动练习
各种趣味互动游戏,让孩子爱上学中文。

趣味互动课件,让孩子爱上学中文

互动性高
学生不仅可以和课件互动,还能加强和老师的互动。学生、教师和课件三位一体,互动性空前提升,让老师对学生的学习效果把控地更加准确,教学更有效。
趣味性高
通过非常丰富的互动体验和精美的趣味元素设计,让孩子更能记住所学的内容,真正做到寓教于乐,让学生能够快乐地学好中文。
科学性强
灵犀中文的教研团队深耕行业多年,深谙华裔孩子中文学习的特点。课件专业针对华裔青少儿中文学习的特点制作,让孩子的学习更加科学。

高效中文考试辅导课程,助力考生取得高分

多种课程类型
覆盖面广
覆盖多种中文考试课程,包括IB中文、AP中文、A-Level中文、O-Level中文和DSE中文,满足不同中文考试辅导的需求。
华裔孩子学中文,课程针对性强
针对性强
所有考试辅导皆为1对1名师教学,根据考生的水平制定个性化备考课程计划,针对弱项快速补强。
高提分率
高提分率
灵犀的老师有着丰富的考试辅导经验,深谙各中文考试的大纲和重点,帮助学生超越自我,考取高分。

为什么选择灵犀中文

为什么选择灵犀中文

免费领取1对1体验课

ft pic 3
国家/地区
search
 

search no result

 
ft pic 4
 
点击立即领取按钮,即表示您同意我们的服务条款和隐私保护。

17年教学经验沉淀,打造每一堂好课

灵犀中文掌握华裔青少儿中文教学的精髓,让您的孩子快乐高效地学好中文!
华裔孩子学中文,1对1个性化教学
为每个孩子定制个性化课程
华裔孩子学中文,教师教学经验丰富
教师经验丰富,擅于教授华裔青少儿
练习充分,讲练比例1:4,全面提升听说读写,让孩子真正学会中文
练习充分,讲练比例1:4,全面提升听说读写,让孩子真正学会中文
趣味课堂互动,锻炼孩子语言交际能力,激发孩子中文学习兴趣
趣味课堂互动,锻炼孩子语言交际能力,激发孩子中文学习兴趣

专业的师资团队,做最好的中文教育

专业的师资团队,做最好的中文教育
严格的教师筛选标准,只选2%最优秀的老师
严格的教师筛选标准,只选2%最优秀的老师
教师选择众多,保证选到最适合孩子的老师
教师选择众多,保证选到最适合孩子的老师
采用情景式及TPR教学法,课堂教学生动有趣
采用情景式及TPR教学法,课堂教学生动有趣
耐心热情,亦师亦友
耐心热情,亦师亦友

媒体报道

如何参加免费体验课

免费领取1对1体验课
点击下方按钮领取
预约体验课
我们会有专人在1个工作日内跟您联系,预约上课时间
上免费体验课
进入上课教室,体验1对1免费课
滚动至顶部