使用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 相关文章推荐
解决FireFox下[使用event很麻烦]的问题
Nov 26 Javascript
模仿JQuery sortable效果 代码有错但值得看看
Nov 05 Javascript
Javascript倒计时代码
Aug 12 Javascript
JQuery获取浏览器窗口内容部分高度的代码
Feb 24 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
Mar 18 Javascript
js单独获取一个checkbox看其是否被选中
Sep 22 Javascript
js判断手机号运营商的方法
Oct 23 Javascript
使用Object.defineProperty实现简单的js双向绑定
Apr 15 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
Nov 11 Javascript
利用angular、react和vue实现相同的面试题组件
Feb 19 Javascript
微信小程序开发之tabbar图标和颜色的实现
Oct 17 Javascript
vue组件之间通信方式实例总结【8种方式】
Feb 22 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
Apache2 httpd.conf 中文版
2006/12/06 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
2017/12/28 PHP
js 数组克隆方法 小结
2010/03/20 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
2011/09/10 Javascript
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
js封装成插件的步骤方法
2017/09/11 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
Python3 操作符重载方法示例
2017/11/23 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
在Python中过滤Windows文件名中的非法字符方法
2019/06/10 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
2020/09/03 Python
一款利用css3的鼠标经过动画显示详情特效的实例教程
2014/12/29 HTML / CSS
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
输入N,打印N*N矩阵
2012/02/20 面试题
七夕相亲活动策划方案
2014/08/31 职场文书
旷课检讨书500字
2014/10/14 职场文书
优秀英文求职信范文
2015/03/19 职场文书
会计主管岗位职责
2015/04/02 职场文书
追悼词范文大全
2015/06/23 职场文书
银行求职信范文
2019/05/13 职场文书
竞选稿之小学班干部
2019/10/31 职场文书
python实现简单的名片管理系统
2021/04/26 Python
Javascript之datagrid查询详解
2021/09/15 Javascript
MySQL 条件查询的常用操作
2022/04/28 MySQL