1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 邮箱下拉自动填充选择示例代码附图【javascript】

邮箱下拉自动填充选择示例代码附图【javascript】

时间:2021-11-30 16:05:11

相关推荐

邮箱下拉自动填充选择示例代码附图【javascript】

web前端|js教程

邮箱,下拉,自动填充

web前端-js教程

1.需要一个js文件:jquery.mailAutoComplete-3.1.js

网狐6.6源码,ubuntu终端登录命令,爬虫使用代理图片,flush()php,云南seo顾问lzw

(function($){

$.fn.mailAutoComplete = function(options){

var defaults = {

boxClass: "mailListBox", //外部box样式

listClass: "mailListDefault", //默认的列表样式

focusClass: "mailListFocus", //列表选样式中

markCalss: "mailListHlignt", //高亮样式

zIndex: 1,

autoClass: true, //是否使用插件自带class样式

mailArr: ["","","","","","","","","",""], //邮件数组

textHint: false, //文字提示的自动显示与隐藏

hintText: "",

focusColor: "#333",

blurColor: "#999"

};

var settings = $.extend({}, defaults, options || {});

//页面装载CSS样式

if(settings.autoClass && $("#mailListAppendCss").size() === 0){

$(.mailListBox{border:1px solid #369; background:#fff; font:12px/20px Arial;}.mailListDefault{padding:0 5px;cursor:pointer;white-space:nowrap;}.mailListFocus{padding:0 5px;cursor:pointer;white-space:nowrap;background:#369;color:white;}.mailListHlignt{color:red;}.mailListFocus .mailListHlignt{color:#fff;}).appendTo($("head"));

}

var cb = settings.boxClass, cl = settings.listClass, cf = settings.focusClass, cm = settings.markCalss; //插件的class变量

var z = settings.zIndex, newArr = mailArr = settings.mailArr, hint = settings.textHint, text = settings.hintText, fc = settings.focusColor, bc = settings.blurColor;

//创建邮件内部列表内容

$.createHtml = function(str, arr, cur){

var mailHtml = "";

if($.isArray(arr)){

$.each(arr, function(i, n){

if(i === cur){

mailHtml +=

+str+@+arr[i]+

;

}else{

mailHtml +=

+str+@+arr[i]+

;

}

});

}

return mailHtml;

};

//一些全局变量

var index = -1, s;

$(this).each(function(){

var that = $(this), i = $(".justForJs").size();

if(i > 0){ //只绑定一个文本框

return;

}

var w = that.outerWidth(), h = that.outerHeight(); //获取当前对象(即文本框)的宽高

//样式的初始化

that.wrap(\)

.before(

);

var x = $("#mailListBox_" + i), liveValue; //列表框对象

that.focus(function(){

//父标签的层级

$(this).css("color", fc).parent().css("z-index", z);

//提示文字的显示与隐藏

if(hint && text){

var focus_v = $.trim($(this).val());

if(focus_v === text){

$(this).val("");

}

}

//键盘事件

$(this).keyup(function(e){

s = v = $.trim($(this).val());

if(/@/.test(v)){

s = v.replace(/@.*/, "");

}

if(v.length > 0){

//如果按键是上下键

if(e.keyCode === 38){

//向上

if(index <= 0){

index = newArr.length;

}

index--;

}else if(e.keyCode === 40){

//向下

if(index >= newArr.length - 1){

index = -1;

}

index++;

}else if(e.keyCode === 13){

//回车

if(index > -1 && index < newArr.length){

//如果当前有激活列表

$(this).val($("#mailList_"+index).text());

}

}else{

if(/@/.test(v)){

index = -1;

//获得@后面的值

//s = v.replace(/@.*/, "");

//创建新匹配数组

var site = v.replace(/.*@/, "");

newArr = $.map(mailArr, function(n){

var reg = new RegExp(site);

if(reg.test(n)){

return n;

}

});

}else{

newArr = mailArr;

}

}

x.html($.createHtml(s, newArr, index)).css("left", 0);

if(e.keyCode === 13){

//回车

if(index > -1 && index < newArr.length){

//如果当前有激活列表

x.css("left", "-6000px");

}

}

}else{

x.css("left", "-6000px");

}

}).blur(function(){

if(hint && text){

var blur_v = $.trim($(this).val());

if(blur_v === ""){

$(this).val(text);

}

}

$(this).css("color", bc).unbind("keyup").parent().css("z-index",0);

x.css("left", "-6000px");

});

//鼠标经过列表项事件

//鼠标经过

$(".mailHover").live("mouseover", function(){

index = Number($(this).attr("id").split("_")[1]);

liveValue = $("#mailList_"+index).text();

x.children("." + cf).removeClass(cf).addClass(cl);

$(this).addClass(cf).removeClass(cl);

});

});

x.bind("mousedown", function(){

that.val(liveValue);

});

});

};

})(jQuery);

2.jq库当然必不可少了,这里就略了

upupw源码,Ubuntu重启就黑屏,tomcat管理员缺省密码,爬虫系统网站,php中的系统命令函数,seo 推广外包lzw

下面来测试

象棋网源码,ubuntu运行命令cd,如何爬虫经度纬度,php pkzip,seo招聘襄阳lzw

3.样式表:

.out_box{border:1px solid #ccc; background:#fff; font:12px/20px Tahoma;}

.list_box{border-bottom:1px solid #eee; padding:0 5px; cursor:pointer;}

.focus_box{background:#f0f3f9;}

.mark_box{color:#c00;}

4.测试代码

自定义class展示:

$(function() {

$("#customTest").mailAutoComplete({

boxClass: "out_box", //外部box样式

listClass: "list_box", //默认的列表样式

focusClass: "focus_box", //列表选样式中

markCalss: "mark_box", //高亮样式

autoClass: false,

textHint: true, //提示文字自动隐藏

hintText: "请输入邮箱地址"

});

})

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。