Heim > Web-Frontend > js-Tutorial > Beispielcode für die automatische Ausfüllung der E-Mail-Dropdown-Liste mit Bild_Javascript-Kenntnissen

Beispielcode für die automatische Ausfüllung der E-Mail-Dropdown-Liste mit Bild_Javascript-Kenntnissen

WBOY
Freigeben: 2016-05-16 16:53:36
Original
1172 Leute haben es durchsucht

1. Eine js-Datei ist erforderlich: jquery.mailAutoComplete-3.1.js

Code kopieren Der Code lautet wie folgt:

(function($){
$.fn.mailAutoComplete = function(options){
var defaults = {
boxClass: "mailListBox", //外部box样式
listClass: "mailListDefault", //默认的列表样式
focusClass: "mailListFocus", //列表选样式中
markCalss: "mailListHlignt", //高亮样式
zIndex: 1,
autoClass: true, //是否使用插件自带class样式
mailArr: ["qq.com","gmail.com","126.com","163.com","hotmail.com","yahoo.com","yahoo.com.cn","live.com","sohu.com","sina.com"], //邮件数组
textHint: false, //文字提示的自动显示与隐藏
hintText: "",
focusColor: "#333",
blurColor: "#999"
};
var settings = $.extend({}, defaults, options || {});

//页面装载CSS样式
if(settings.autoClass && $("#mailListAppendCss").size() === 0){
$('').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; //Listbox-Objekt
that.focus(function(){
//Ebene des übergeordneten Tags
$ (this).css("color", fc).parent().css("z-index", z);
//Hinweistext anzeigen und ausblenden
if(hint && text){
var focus_v = $.trim($(this).val());
if(focus_v === text){
$(this).val(""}
}
//Tastaturereignisse
$(this).keyup(function(e){
s = v = $.trim($(this).val());
if ( /@/.test(v)){
s = v.replace(/@.*/, "");
}
if(v.length > 0){
/ /Wenn die Taste oben oder unten ist
if(e.keyCode === 38){
//Up
if(index <= 0){
index = newArr.length; 🎜 >}
index--;
}else if(e.keyCode === 40){
//Down
if(index >= newArr.length - 1){
index = -1;
}
index ;
}else if(e.keyCode === 13){
//Enter
if(index > -1 && index < ; newArr.length){
//Wenn es derzeit eine aktive Liste gibt
$(this).val($("#mailList_" index).text()} else {
if(/@/.test(v)){
index = -1; / , "");
//Erstelle ein neues passendes Array
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){
//Enter
if(index > -1 && index < newArr.length){
//Wenn derzeit eine Aktivierungsliste vorhanden ist
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");

}
//Mouse over list item event
/ /Mouse over
$(".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) ist natürlich unerlässlich, Hier ist Auslassen

Testen wir es unten

3. Stylesheet:




Code kopieren


Der Code lautet wie folgt:





Testcode
Code kopieren Der Der Code lautet wie folgt:

Benutzerdefinierte Klassenanzeige:

>



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage