使用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 相关文章推荐
2010年最佳jQuery插件整理
Dec 06 Javascript
两种常用的javascript数组去重方法思路及代码
Mar 26 Javascript
利用JS实现浏览器的title闪烁
Jul 08 Javascript
node.js中的buffer.write方法使用说明
Dec 10 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
Sep 21 Javascript
基于slideout.js实现移动端侧边栏滑动特效
Nov 28 Javascript
基于JavaScript实现焦点图轮播效果
Mar 27 Javascript
js调用刷新界面的几种方式
May 03 Javascript
从源码看angular/material2 中 dialog模块的实现方法
Oct 18 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
Apr 25 Javascript
简单了解TypeScript中如何继承 Error 类
Jun 21 Javascript
vue 地区选择器v-distpicker的常用功能
Jul 23 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中使用curl_init函数的说明
2010/11/02 PHP
一个PHP的远程图片抓取函数分享
2013/09/25 PHP
php二分查找二种实现示例
2014/03/12 PHP
php过滤表单提交的html等危险代码
2014/11/03 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
JQuery对表格进行操作的常用技巧总结
2014/04/23 Javascript
javascript实现多级联动下拉菜单的方法
2015/02/06 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
window.onload使用指南
2015/09/13 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
JS中判断字符串存在和非空的方法
2018/09/12 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
2018/10/18 Javascript
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
Python基本数据类型详细介绍
2014/03/11 Python
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
Python测试人员需要掌握的知识
2018/02/08 Python
python3 遍历删除特定后缀名文件的方法
2018/04/23 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
python3实现多线程聊天室
2018/12/12 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
Django之form组件自动校验数据实现
2020/01/14 Python
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
实现向右循环移位
2014/07/31 面试题
竞选班长演讲稿400字
2014/08/22 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis
GTX1660显卡搭配显示器推荐
2022/04/19 数码科技
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript