JS实现关键字搜索时的相关下拉字段效果


Posted in Javascript onAugust 05, 2014
<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=GBK" /> 
<title>Hello World</title> 
<link href="style.css" rel="external nofollow" rel="stylesheet" type="text/css"> 
 
<script type="text/javascript"> 
  sources= new Array("www.sina.com","www.baidu.com","www.google.com","www.sina.org","www.baidu.ogr.cn"); 
  tabinfo = ""; 
  flag = new Array(sources.length); 
  for(var i=0;i<flag.length;i++) 
    flag[i] = false ; 
   
  function immediately(){ 
     
    var element = document.getElementById("i1"); 
    if("\v"=="v") { 
      element.onpropertychange = webChange; 
    }else{ 
      element.addEventListener("input",webChange,false); 
    } 
    function webChange(){ 
      var tab = document.all("dl1"); 
      for(var i=0;i<flag.length;i++) 
        flag[i] = false ;//重新初始化 
      if(element.value){ 
        var content = document.getElementById("i1").value; 
        for(var i = 0 ;i < sources.length ; i ++){ 
          if(sources[i].indexOf(content) != -1){ 
            flag[i] = true;    
          } 
        } 
        for(var j=0;j<flag.length;j++){ 
           
          if(flag[j]){//sources[j]有与文本框文字相同的内容 
            if(tab.rows.length>0){ 
              for(var k=0;k<tab.rows.length;k++) 
                if(tab.rows[k].cells[0].innerText.indexOf(content) == -1) 
                  tab.deleteRow(k); 
            } 
            for(var k=0;k<tab.rows.length;k++){ 
              tabinfo += tab.rows[k].cells[0].innerText; 
            }   
            if(tabinfo.indexOf(sources[j]) == -1){  
              nrow = tab.insertRow(0); 
              newcell = nrow.insertCell(); 
              newcell.innerHTML = sources[j]  
            } 
            tabinfo = ""; 
          } 
           
           
        } 
      } 
    } 
  } 
 
</script> 
<script language="javascript"> 
  var lastObj=null;  
  function backBlack(){ 
    event.srcElement.style.background="gray"; 
    forceBackC6(); 
    if(event.srcElement.tagName=="TD"){ 
      lastObj=event.srcElement; 
    } 
    fillData(); 
  } 
  function backC6(){ 
    event.srcElement.style.background="#CCCCCC"; 
  } 
  function forceBackC6(){ 
   if(lastObj!=null) 
    lastObj.style.background="#F8F8FF"; 
  } 
 
 
  function fillData(){ 
    if(lastObj.innerHTML!=null) 
     document.all.i1.value=lastObj.innerHTML;  
  } 
   
  function init(){ 
    Layer1.style.top=i1.offsetTop+40; 
    Layer1.style.left=i1.offsetLeft; 
    Layer1.style.visibility="visible"; 
  } 
  function hideBelow(){ 
    Layer1.style.visibility="hidden"; 
  } 
</script> 
 
</head> 
<body> 
<input type="text" id="i1" style="height:20px" onFocus="init()" onBlur="hideBelow()" /> 
<script type="text/javascript"> 
immediately(); 
</script> 
<div id="Layer1"> 
 <table id="dl1" class="midHead" cellspacing="0" onMouseOut="backC6()" onMouseOver="backBlack()" border="0" > 
   
 </table> 
</div> 
 
<br> 
 
</body> 
</html>
Javascript 相关文章推荐
javascript下IE与FF兼容函数收集
Sep 17 Javascript
return false;和e.preventDefault();的区别
Jul 11 Javascript
JQuery表格内容过滤的实现方法
Jul 05 Javascript
JS日期和时间选择控件升级版(自写)
Aug 02 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
Feb 05 Javascript
js实现按钮控制图片360度翻转特效的方法
Feb 17 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
Aug 17 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
Jul 19 jQuery
JavaScript实现封闭区域布尔运算的示例代码
Jun 25 Javascript
利用es6 new.target来对模拟抽象类的方法
May 10 Javascript
通过实例了解Javascript柯里化流程
Mar 03 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
May 19 jQuery
js实现点击后将文字或图片复制到剪贴板的方法
Aug 04 #Javascript
JavaScript中的函数重载深入理解
Aug 04 #Javascript
window.print打印指定div指定网页指定区域的方法
Aug 04 #Javascript
jQuery 删除或是清空某个HTML元素示例
Aug 04 #Javascript
js实现正方形颜色从下往上升的效果
Aug 04 #Javascript
与Math.pow 相反的函数使用介绍
Aug 04 #Javascript
简单易用的倒计时js代码
Aug 04 #Javascript
You might like
使用php+xslt在windows平台上
2006/10/09 PHP
php修改指定文件后缀的方法
2014/09/11 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
php模拟post提交数据的方法
2015/02/12 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
JavaScript 学习历程和心得分享
2010/12/12 Javascript
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
js获取元素的外链样式的简单实现方法
2016/06/06 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
微信小程序 天气预报开发实例代码源码
2017/01/20 Javascript
Node.js与Sails redis组件的使用教程
2017/02/14 Javascript
走进javascript——不起眼的基础,值和分号
2017/02/24 Javascript
详解JavaScript调用栈、尾递归和手动优化
2017/06/03 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
微信小程序wxs实现吸顶效果
2020/01/08 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
Python中if __name__ == &quot;__main__&quot;详细解释
2014/10/21 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
利用Python读取txt文档的方法讲解
2018/06/23 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
澳大利亚正品化妆品之家:Cosmetic Capital
2017/07/03 全球购物
荷兰最大的多品牌男装连锁店:Adam Brandstore
2019/12/31 全球购物
本科生学习总结的自我评价
2013/10/02 职场文书
客服部班长工作责任制
2014/02/25 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
学习保证书100字
2015/02/26 职场文书
计划生育责任书
2015/05/09 职场文书
导游词之无锡梅园
2019/11/28 职场文书
浅析InnoDB索引结构
2021/04/05 MySQL
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL