JavaScript仿新浪微博搜索框功能

JavaScript实现智能搜索框(附完整源码) 阅读详情
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<title>新浪微博搜索框功能</title>
<style type="text/css">
*{
  padding:0;
  margin:0;
}
body{font-size:14px;}
#box{
  width:600px;
  margin:40px auto;
}
#in{
  width:240px;
  height:24px;
  line-height:24px;
  border:1px solid #369;
  border-radius:4px;
  box-shadow:inset 0 0 2px #999;
}
#suggest{
  display:none;
  position:relative;
  margin-top:-1px;
  width:240px;
  padding-top:1px;
  border:1px solid #369;
  border-top:0 none;
  border-radius:4px;
  box-shadow:inset 0 0 2px #999;
  overflow:hidden;
}
#suggest a{
  display:block;
  color:#f00;
  height:24px;
  line-height:24px;
  text-decoration:none;
  padding:0 4px;
}
#suggest a:hover{
  background:#eee;
}
#suggest a span{
  color#369;
}
</style>
<script type="text/javascript">
window.onload=function(){
  var obox=document.getElementById("box");
  var obj=document.getElementById("in");
  var osug=document.getElementById("suggest");
  var oa=osug.getElementsByTagName("span");
  obj.oninput=obj.onpropertychange=onchange;
  obj.onblur=function(){disbox()}
  function onchange(){
    var txt=this.value;
    var words=txt.length;
    if(words==0){
      osug.style.display="none";
    }
        else if(words<=8){
      osug.style.display="block";
      for( var index=0;len=oa.length,index<len;index++){
        oa[index].innerHTML=txt;
      }
    }
        else if(words>8){
      osug.style.display="block";
      var limit=txt.substring(0,8)+"...";
      for( var index=0;len=oa.length,index<len;index++){
        oa[index].innerHTML=limit;
      }
    }
  }
}
function disbox(){
  document.getElementById("suggest").style.display="none";
}
</script>
</head>
<body>
<dl id="box">
  <dt><input type="text" name="" id="in"/></dt>
  <dd id="suggest" >
    <a href="###">搜“<span></span>”相关微博</a>
    <a href="###">搜“<span></span>”相关用户</a>
  </dd>
</dl>
</body>
</html>

上面的代码实现了我们的要求,下面介绍一下它的实现过程。

一.代码注释:

1.window.οnlοad=function(){},当文档内容完全加载完毕再去执行函数中的代码。

2.var obox=document.getElementById("box"),获取id属性值为box的元素对象。

3.var obj=document.getElementById("in"),获取id属性值为in的元素对象。

4.var osug=document.getElementById("suggest"),获取id属性值为suggest的元素对象。

5.var oa=osug.getElementsByTagName("span"),获取osug元素下的span元素对象集合。

6.obj.οninput=obj.onpropertychange=onchange,为obj元素注册oninput和onpropertychange事件处理函数,也就是obj元素值发生改变时会触发的事件。

7.obj.οnblur=function(){disbox()},为obj元素注册onblur事件处理函数。

8.function onchange(){},当obj元素中的value值发生改变时要执行的函数。

9.var txt=this.value,obj元素的value值赋值给txt变量。

10.var words=txt.length,获取value值的字符串长度。

11.if(words==0){

  osug.style.display="none";

}如果字符串长度为0,那么osug元素隐藏。

12.else if(words<=8){

  osug.style.display="block";

  for( var index=0;len=oa.length,index<len;index++){

    oa[index].innerHTML=txt;

  }

}如果字符串的长度小于8,那么就显示osug元素,然后为oa元素集合中的每一个span元素设置相关内容。

13.else if(words>8){

  osug.style.display="block";

  var limit=txt.substring(0,8)+"...";

  for( var index=0;len=oa.length,index<len;index++){

    oa[index].innerHTML=limit;

  }

}如果字符串长度大于,那么将进行一定的截取字符串操作。


效果如下:


DOM事件之简约下拉菜单 通过设置鼠标事件和键盘事件,实现下拉菜单的效果变换,界面简约,代码实用易学。 立即下载

相关推荐

仿新浪搜索框

仿新浪搜索框。不错!与大家共享.

js实现简单的搜索框

数组pop push shift unshift 的练习

qq_53430000的博客 2925

js带搜索框的下拉列表

js带搜索框的下拉列表js带搜索框的下拉列表js带搜索框的下拉列表

html+css+JavaScript实现导航栏

无下拉菜单的导航栏 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * {

cutlery1137的博客 2118

js仿微博动态栏功能

知识有限,目前只写了发布动态的功能,没有写兼容,后面再慢慢完善。嘿嘿 效果图: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>微博</title> <style> body, p, img, ul, li { margin: 0; padding: 0; } body { background-image: url("http://cdn.attach.qdfuns.com/notes/pics/201612/07/212742f92tpe2wve095ttp.jpg")

JS+CSS实现仿新浪微博搜索框的方法

主要介绍了JS+CSS实现仿新浪微博搜索框的方法,实例分析了javascript针对搜索框样式的控制技巧,具有一定参考借鉴价值,需要的朋友可以参考下

js下拉菜单

使用js做新浪微博下拉菜单

爬楼梯的前端小白的博客 730

手把手教你用Qt和DSP28335实现串口Bootloader,附赠源码和避坑指南

本文详细介绍了如何使用Qt和DSP28335实现串口Bootloader,包括开发环境搭建、通信协议设计、Qt上位机开发、DSP端Bootloader核心实现以及应用程序工程的特殊配置。通过实战案例和源码分享,帮助开发者快速掌握嵌入式固件升级技术,提升工业设备远程升级的效率和可靠性。

weixin_29176179的博客 136

JS单选框,搜索框,选择框简单案例

【代码】JS单选框,搜索框,选择框简单案例。

DyjBuild的博客 852

人形机器人硬件开发:骨架系统设计全攻略

本文以人形机器人骨架系统为核心研究对象,系统解析其从理论建模到工程实现的全流程设计方法。通过融合刚体力学、材料科学与机器人控制理论,构建"概念基础-理论框架-架构设计-实现机制-实际应用-高级考量-综合拓展"的七层分析体系。重点覆盖运动学/动力学建模、轻量化结构设计、关节模块集成、多物理场耦合优化等关键技术,结合波士顿动力Atlas、本田ASIMO等经典案例,提供从原型设计到量产验证的工程实践指南。

AI天才研究院 1879

SICK LMS111激光雷达数据解析实战:从原始帧到三维点云的完整流程

本文详细解析了SICK LMS111激光雷达从原始数据帧到三维点云的完整处理流程,包括数据帧结构解析、坐标转换、点云可视化及性能优化技巧。通过实战代码示例,展示了如何高效处理激光雷达数据,并应用于动态物体检测、地面分割等工业场景,为AGV和服务机器人开发者提供实用指南。

garlic的博客 769

html新浪搜索框,JS+CSS实现仿新浪微博搜索框的方法

本文实例讲述了JS+CSS实现仿新浪微博搜索框的方法。分享给大家供大家参考。具体实现方法如下:JS+CSS仿类似新浪微博搜索框的效果* { padding:0; margin:0;}body { font-size:14px; }#box { width:600px; margin:40px auto;}#in { width:240px; height:24px; line-height:24p...

weixin_36150766的博客 664

【漏洞修复】Diffie-Hellman Key Agreement Protocol 资源管理错误漏洞(CVE-2002-20001)

Diffie-Hellman Key Agreement Protocol 存在安全漏洞,远程攻击者可以发送实际上不是公钥的任意数字,并触发服务器端DHE模幂计算。

我的博客 1万+

简单的模拟类似新浪微博搜索框的效果

简单的模拟类似新浪微博搜索框的效果 站长学院  www.pigzz.com         * { padding:0; margin:0;}     body { font-size:14px; }     #box { width:600px; margin:40px auto;}     #in { width:240px; height:24px; line-height:24

山鹰的专栏 1030

矿卡CMP 170HX的AI推理性能优化实战

GPU计算在现代AI推理中扮演着核心角色,其并行计算架构特别适合处理神经网络的大规模矩阵运算。通过CUDA指令集优化和计算管线重构,可以显著提升硬件利用率,这在边缘计算和带宽敏感型任务中尤为重要。以NVIDIA CMP 170HX矿卡为例,通过禁用FMA指令和框架适配优化,其FP32性能可提升15.9倍,在Qwen2.5-1.5B模型的4-bit量化推理中达到A100同架构78%的解码速度。这种优化技术不仅让淘汰矿卡重获新生,更为边缘AI部署提供了高性价比解决方案,特别适合7B以下量化模型部署和多路视频分析

weixin_30432579的博客 636

Python 爬虫实战:爬取 BOSS 直聘职位,实现岗位要求关键词提取

摘要:本文基于BOSS直聘数据分析师岗位信息,采用Python爬虫技术获取职位数据,通过文本分析和可视化方法研究岗位技能需求特征。研究首先设计爬虫程序获取职位基本信息和岗位要求文本,经数据清洗后运用jieba分词和词频统计提取关键词。结果显示SQL、Python为最核心技能,不同级别岗位需求差异明显:初级重基础数据处理,高级需建模和管理能力;行业间亦存在差异,互联网关注用户增长,金融侧重风控。研究为求职者技能提升提供了数据支持,同时展示了从非结构化文本中挖掘有价值信息的完整流程。

2503_91057718的博客 1766

JS实现新浪微博搜索框提示的特效代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <...

weixin_34367845的博客 208

Claude Code 错误解决方案 API Error: 前缀通用错误

本文分析了Claude Code与Anthropic API通信时出现的通用错误处理问题。当API返回未分类错误时,系统会直接显示"API Error: "前缀的原始错误信息。通过错误链路追踪发现,这是由于未匹配特定错误类型时触发了通用兜底处理逻辑。文章提供了三种解决方案:查看具体错误内容、启用调试日志以及提交问题反馈,并建议用户关注错误码、使用/compact命令处理上下文超限问题。最后强调这些未分类错误是预期行为,用户应通过错误消息中的线索自行排查或反馈开发者。

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 1351

mui开发app,mui搜索框触发手机搜索按键方法,分享功能的实现

1. 搜索框的属性的设置。要虚拟键盘显示“搜索”二字,需满足以下两个条件: (1)设置input属性 type=‘search’ (2)input需在form表单中。 1234html代码&lt;form action=""&gt; &lt;div class="mui-input-row mui-search"&gt; &lt;input id="search" type...

yijiupingfan0914的博客 4379

使用Python实现深度学习模型:智能极端天气事件预测

在本项目中,我们成功利用Python和Keras库构建了一个基于LSTM的极端天气预测模型。通过时间序列数据,模型能够识别天气趋势并预测未来的极端天气事件。尽管这是一个简化的示例,但它为实际应用中如何利用深度学习进行天气预测提供了一个很好的基础。随着更精确的数据和更多的特征信息,类似的模型可以进一步扩展到其他极端事件预测上,如风暴预警、气象灾害评估等。

Echo_Wish 730

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

php 搜索框,简单的搜索框样式是如何实现的?

本篇文章给大家带来的内容是关于简单的搜索框样式是如何实现的,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。这里涉及的是清除input框默认样式和设置聚焦样式;还有就是控制搜索列表的显示,下面直接给除代码,可以去试试效果新浪微博搜索框功能* {padding: 0;margin: 0;}body {font-size: 14px;}#box {width: 600px;margin:...

weixin_35615591的博客 871

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

以新浪为例浅谈XSS

随着网络时代的飞速发展,网络安全问题越来越受大家的关注,而SQL注入的攻击也随着各种防注入的出现开始慢慢的离我们而去,从而XSS跨站脚本攻击也慢慢的开始在最近几年崛起,也应对了’没有绝对的安全’这句话。 XSS攻击: 它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。 大家刚接触XSS的时候和我大概也差不多,都是在不断的在各种搜索栏,地址栏中或...

Coisini的博客 318

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【Flask-Ajax-Echarts】 python实现新浪微博数据分析并实时展示在Flask服务器上

 需要工具: python3.6      pandas Flask  china.json echarts.js element.js jQuery.js,map.js,vue.js 需要数据集: 新浪微博用户数据集.csv 数据集一览:用pandas读入数据集放在内存中,Flask接收到Ajax传入的请求,将数据整理分析打包成json返回前端,前端通过echarts做可视化。后端flask模块...

夏目的博客 3501

php jquery 百度搜索,jquery实现类似百度的搜索框

作为一名开发人员,在开发网站的时候搜索框也是必不可少的一项功能,最近工作中需要做一个搜索框,类似百度的搜索框,本文我们就和大家分享关于Jquery实现类似百度的搜索框。需要达到两个功能:1.输入关键字,展示匹配的下拉列表2.选择匹配的项后查出相关内容一般电商网站中也经常用到该搜索条,首先分析功能实现,输入关键字马上显示匹配项列表,实现该功能输入框需要绑定"input"事件,然后向后台发送异步请求,...

weixin_36024234的博客 324

iNovePlus1.1版发布

自从上次发布iNove改进版(仿NeoEase的paled主题),已经有半年时间了,陆续也见到一些朋友使用,也收到一些反馈,最近把自己的多个wordpress进行了合并,所以准备改进一下这个主题。今天花了一天的时间,把主题重新整了整,加了几个功能,顺便修复了一下1.0中的bug,虽然有朋友反映评论务必要改改,但个人觉得功能没有问题,加上精力有限,所以就懒得改成NeoEase的样子了,等以后再说吧。...

weixin_34266504的博客 143
上一篇: JavaScript可以开始和停止的倒计时
下一篇: JavaScript 3D球形标签云代码
Return_KB
博客等级 码龄9年 23粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值