使用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判断IE版本号简单实用且向后兼容
Sep 11 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
Jun 16 Javascript
JavaScript中的全局对象介绍
Jan 01 Javascript
javascript实现自动输出文本(打字特效)
Aug 27 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
Oct 19 Javascript
jquery ztree实现模糊搜索功能
Feb 25 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
May 28 Javascript
vue中eventbus被多次触发以及踩过的坑
Dec 02 Javascript
前端MVVM框架解析之双向绑定
Jan 24 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
May 02 Javascript
简单说说angular.json文件的使用
Oct 29 Javascript
在layui框架中select下拉框监听更改事件的例子
Sep 20 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
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
JS隐藏参数post传值实例
2013/04/18 Javascript
jquery实现预览提交的表单代码分享
2014/05/21 Javascript
Javascript Objects详解
2014/09/04 Javascript
浅析webapp框架AngularUI的demo
2014/12/21 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
JS使用parseInt解析数字实现求和的方法
2015/08/05 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
2016/05/11 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
node.js调用Chrome浏览器打开链接地址的方法
2017/05/17 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
javascript实现前端分页效果
2020/06/24 Javascript
Python中实现远程调用(RPC、RMI)简单例子
2014/04/28 Python
Python 实现文件的全备份和差异备份详解
2016/12/27 Python
Python使用pickle模块存储数据报错解决示例代码
2018/01/26 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
python selenium自动化测试框架搭建的方法步骤
2020/06/14 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
Bravofly德国:预订廉价航班和酒店
2019/09/22 全球购物
外国人来华邀请函
2015/01/31 职场文书
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL
Python实现Excel文件的合并(以新冠疫情数据为例)
2022/03/20 Python