100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > JavaScript 文本框下拉提示(自动提示)_表单特效

JavaScript 文本框下拉提示(自动提示)_表单特效

时间:2018-10-15 06:13:50

相关推荐

JavaScript 文本框下拉提示(自动提示)_表单特效

web前端|js教程

文本框,下拉提示

web前端-js教程

个人日程管理系统源码,ubuntu查看文件安装,爬虫数据抓取评价,php 必学,刘亮seolzw

文本框下拉提示效果

列表带搜索源码,ubuntu路由怎么设置,爬虫人统治地球,php盗版,唐县网站seolzw

html{overflow:-moz-scrollbars-vertical;} body{padding:0;margin:0;font:12px/1.5 Tahoma,Helvetica,Arial,sans-serif;} body,h1,p,blockquote,dl,dt,dd,ul,ol,li,input{margin:0;padding:0;} button,input,select,textarea {font:12px/1.5 tahoma,arial,simsun,sans-serif;} button,input,select,textarea{font-size:100%;} a{text-decoration:none;} a:hover{text-decoration:underline;} #wrap{width:650px;margin:0 auto;} .txt{width:210px;height:25px;border:1px solid #ccc;line-height:25px;padding:0 5px;} .autoDis{border:1px solid #999;position:absolute;overflow:hidden;} .autoDis p{line-height:25px;cursor:default;padding:0 5px;} .autoDis li{line-height:25px;cursor:default;padding:0 5px;background-color:#fff;} .autoDis .cur{background:#ccc;}

1616源码,ubuntu无法输出中文,pathon 爬虫数据采集,php strpost,seo中原创lzw

提示:可以输入”1″开头的

(autoComplete={ pop_len:10, pop_cn:’autoDis’, hover_cn:’cur’, source:’13612345564|13825646464|13412236054|13012348564|13012345564|13012365564|彭小|王达|李相公|周欢欢’.split(‘|’), init:function(){ this.setDom(); return this; }, bind:function(x){ if(x.getAttribute(‘type’) != ‘text’ || x.nodeName != ‘INPUT’) return null; var self = this; x.onkeyup = function(e){ e = e || window.event; var lis = self.pop.getElementsByTagName(‘li’),lens = self.pop.getElementsByTagName(‘li’).length,n=lens,temp; if(e.keyCode == 38){ //键盘up键被按下 if(self.pop.style.display != ‘none’){ for(var i=0;i<lens;i++){ //遍历结果数据,判断是否被选中 if(lis[i].className) temp = i; else n–; } if(n==0){ //如果没有被选中的li元素,则选中最后一个 lis[lens-1].className = self.hover_cn; this.value = lis[lens-1].innerHTML; }else{ //如果有被选中的元素,则选择上一个元素并赋值给input if(lis[temp] == lis[0]){ //如果选中的元素是第一个孩子节点则跳到最后一个选中 lis[lens-1].className = self.hover_cn; this.value = lis[lens-1].innerHTML; lis[temp].className = \; }else{ lis[temp-1].className = self.hover_cn; this.value = lis[temp-1].innerHTML; lis[temp].className = \; } } }else //如果弹出层没有显示则执行插入操作,并显示弹出层 self.insert(this); }else if(e.keyCode == 40){ //down键被按下,原理同up键 if(self.pop.style.display != one){ for(var i=0;i<lens;i++){ if(lis[i].className) temp = i; else n–; } if(n==0){ lis[0].className = self.hover_cn; this.value = lis[0].innerHTML; }else{ if(lis[temp] == lis[lens-1]){ lis[0].className = self.hover_cn; this.value = lis[0].innerHTML; lis[temp].className = \; }else{ lis[temp+1].className = self.hover_cn; this.value = lis[temp+1].innerHTML; lis[temp].className = \; } } }else self.insert(this); }else //如果按下的键既不是up又不是down那么直接去匹配数据并插入 self.insert(this); }; x.onblur = function(){ //这个延迟处理是因为如果失去焦点的时候是点击选中数据的时候会发现先无法触发点击事件 setTimeout(function(){self.pop.style.display= one;},300); }; return this; }, setDom:function(){ var self = this; var dom = document.createElement(div),frame=document.createElement(iframe),ul=document.createElement(ul); document.body.appendChild(dom); with(frame){ //用来在ie6下遮住select元素 setAttribute(frameborder,); setAttribute(scrolling, o); style.cssText=z-index:-1;position:absolute;left:0;top:0; } with(dom){ //对弹出层li元素绑定onmouseover,onmouseover className = this.pop_cn; appendChild(frame); appendChild(ul); onmouseover = function(e){ //在li元素还没有加载的时候就绑定这个方法,通过判断target是否是li元素进行处理 e = e || window.event; var target = e.srcElement || e.target; if(target.tagName == LI){ //添加样式前先把所有的li样式去掉,这里用的是一种偷懒的方式,没有单独写removeClass方法 for(var i=0,lis=self.pop.getElementsByTagName(li);ithis.pop_len?this.pop_len:bak.length; for(var i=0;i<s;i++) li.push( \ + bak[i] +\); this.pop.getElementsByTagName(ul)[0].innerHTML = li.join(\); this.pop.style.display=lock; } }).init().bind(document.getElementById(autoCom)).bind(document.getElementById(autoC));

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

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