使用JavaScrip模拟实现仿京东搜索框功能


Posted in Javascript onOctober 16, 2019

使用js模拟实现京东的搜索框,主要用了js中的onfocus(注册焦点事件),onblur(失去焦点的事件);

主要实现了:

  1. 在鼠标点进去的时候,里面的默认内容消失;
  2. 在输入之后,再点击搜索框外,输入的内容还在搜索框中;
  3. 如果输入为空,点击搜索框外,里面自动显示默认内容;
  4. 内容颜色的改变

效果图

使用JavaScrip模拟实现仿京东搜索框功能

代码

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>京东搜索框</title>
 <style type="text/css">
  *{
  margin: 0;
  padding: 0;
  border: 0;
  }
  #search{
  width: 550px;
  height: 35px;
  margin: 100px auto;
  }
  #search input{
  width: 492px;
  height: 31px;
  border: 2px solid #f10215;
  outline-style: none;/* 消除原来的边框默认属性 */
  float: left;
  padding-left: 4px;/* 让文字在搜索的时候距离框4px */
  color: #888;
  }
  #search button{
  width: 50px;
  height: 35px;
  background-color: #f10215;
  float: left;
  color: white;
  }
 </style>
 <script type="text/javascript">
  var keyword = "iphone 11";//搜索框中默认的搜索词
  window.onload = function(){
  //得到按钮的对象
  var btnsearch = document.getElementById("search").getElementsByTagName("button")[0];
  //得到搜索框的对象
  var txt = document.getElementById("search").getElementsByTagName("input")[0];
  //为搜索框注册焦点事件
  txt.onfocus = function(){
   //当在焦点上时让搜索框文字变成黑色
   txt.style.color = "black";
   //如果搜索框为关键字的时候,注册焦点就让搜索框为空
   if (txt.value == keyword) {
   txt.value = "";
   }
  }
  //为搜索框注册失去焦点事件
  txt.onblur = function(){
   //在失去焦点的时候如果搜索框内容为空,就让搜索框显示默认关键字
   if (txt.value == "") {
   this.value = keyword;
   this.style.color = "#888";
   }
  }
  }
 </script>
 </head>
 <body>
 <div id="search">
  <input type="text" value="iphone 11" />
  <button>搜索</button>
 </div>
 </body>
</html>
  • onfocus事件:事件在对象获得焦点时发生,常用在表单中
  • onblur事件:事件在对象失去焦点时发生

css中的属性:outline用于修饰元素的轮廓;

总结

以上所述是小编给大家介绍的使用JavaScrip模拟实现仿京东搜索框功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
轻轻松松学习JavaScript
Feb 25 Javascript
JavaScript实现多维数组的方法
Nov 20 Javascript
jquery操作select大全
Apr 25 Javascript
浅谈EasyUI中编辑treegrid的方法
Mar 01 Javascript
js+html5实现canvas绘制简单矩形的方法
Jun 05 Javascript
jQuery插件实现无缝滚动特效
Nov 24 Javascript
Vue.js最佳实践(五招助你成为vuejs大师)
May 04 Javascript
vue多次循环操作示例
Feb 08 Javascript
vue+elementUI组件table实现前端分页功能
Nov 15 Javascript
js回调函数仿360开机
Dec 26 Javascript
javascript 易错知识点实例小结
Apr 25 Javascript
Vue 请求传公共参数的操作
Jul 31 Javascript
微信小程序如何实现在线客服功能
Oct 16 #Javascript
Vue 实现从文件中获取文本信息的方法详解
Oct 16 #Javascript
Vue 实现从小到大的横向滑动效果详解
Oct 16 #Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
Oct 16 #jQuery
JS使用正则表达式提交页面验证的代码
Oct 16 #Javascript
JS使用正则表达式判断输入框失去焦点事件
Oct 16 #Javascript
微信小程序使用echarts获取数据并生成折线图
Oct 16 #Javascript
You might like
编译问题
2006/10/09 PHP
PHP中数组的分组排序实例
2014/06/01 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
PHP实现Huffman编码/解码的示例代码
2018/04/20 PHP
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
2010/06/07 Javascript
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
js获取键盘按键响应事件(兼容各浏览器)
2013/05/16 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
javascript对象的相关操作小结
2016/05/16 Javascript
BootStrap中的表单大全
2016/09/07 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
JavaScript实现短信倒计时60s
2017/10/09 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
Python3 log10()函数简单用法
2019/02/19 Python
python实现两张图片的像素融合
2019/02/23 Python
对tensorflow 中tile函数的使用详解
2020/02/07 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
检测浏览器是否支持html5视频的代码
2013/03/28 HTML / CSS
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
德国亚马逊官方网站:Amazon.de
2020/11/15 全球购物
植树造林的宣传标语
2014/06/23 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
西游记读书笔记
2015/06/25 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
使用Nginx的访问日志统计PV与UV
2022/05/06 Servers
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技