JavaScript仿京東搜索框?qū)嵗?/h1>
更新時(shí)間:2022年03月07日 10:00:06 作者:Cloud%
這篇文章主要為大家詳細(xì)介紹了JavaScript仿京東搜索框?qū)嵗?,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
馬上就到雙十一了,我們?cè)诰〇|淘寶購(gòu)物,瘋狂剁手的同時(shí),有沒有注意到京東的搜索框呢,除了能進(jìn)行搜索內(nèi)容以外,它的樣式又是如何實(shí)現(xiàn)的呢?
下面就分析一下如何實(shí)現(xiàn)仿京東的搜索框。
核心分析:
JavaScript部分:
1、當(dāng)文本框獲取焦點(diǎn)的時(shí)候,div中的字體顏色變?yōu)閞gb(200,200,200);
2、當(dāng)文本框失去焦點(diǎn)事件發(fā)生時(shí),div中的字體顏色變成原來(lái)的樣式#989898;
3、當(dāng)文本框輸入內(nèi)容時(shí),div的屬性變?yōu)?none,表現(xiàn)效果為文字消失;
4、當(dāng)清除文本框里面內(nèi)容時(shí),divdiv的屬性變?yōu)?inline-block,表現(xiàn)效果為文字消失;
因?yàn)槭窃谖谋究蚶锩骘@示出來(lái)的內(nèi)容,改變的是表單元素,判斷文本框里面是否有輸入內(nèi)容,判斷的依據(jù)是 表單的value值是否為 空字符串。
實(shí)現(xiàn)代碼:
<!DOCTYPE html>
<html lang="en">
<head>
? ? <meta charset="UTF-8">
? ? <title>仿京東搜索框</title>
? ? <style>
? ? *{
? ? ? ? margin: 0;padding:0;
? ? }
? ? .from{
? ? ? ? border:2px solid #e2231a;
? ? ? ? width:490px;
? ? ? ? height:36px;
? ? ? ? position:relative;
? ? ? ? margin:100px auto;
? ? ? ? font-size: 12px;
? ? }
? ? .text{
? ? ? ? position:absolute;
? ? ? ? line-height: 36px;
? ? ? ? left:27px;
? ? ? ? color:#989898;
? ? ? ? z-index:-1;
? ? }
? ? .search{
? ? ? ? position:absolute;
? ? ? ? left:22px;
? ? ? ? width:430px;
? ? ? ? height:34px;
? ? ? ? outline:none;
? ? ? ? border:1px solid transparent;
? ? ? ? background:transparent;
? ? ? ? line-height: 34px;
? ? ? ? overflow: hidden;
? ? }
? ? .button{
? ? ? ? position:absolute;
? ? ? ? right:0px;
? ? ? ? width:58px;
? ? ? ? height:36px;
? ? ? ? background-color: #e2231a;
? ? ? ? border:1px solid transparent;
? ? ? ? margin:auto;
? ? ? ? outline:none;
? ? ? ? cursor: pointer;
? ? }
? ? button:hover{
? ? ? ? background-color: #c81623;
? ? }
? ? span img{
? ? ? ? position:absolute;
? ? ? ? right:65px;
? ? }
? ? </style>
</head>
? ? <div class='from'>
? ? ? ? <div class='text'>暗夜游戲本</div>
? ? ? ? <input type="text" class="search" value=''>
? ? ? ? <span class='photo' title="未選擇取任何文件">
? ? ? ? ? ? <img src="camera.png" alt="">
? ? ? ? </span>
? ? ? ? <button class='button'>
? ? ? ? ? ? <i><img src="search.png" ?alt=""></i>
? ? ? ? </button>
? ? </div>
<body>
? ? <script>
? ? var div = document.querySelector('.from');
? ? var input = document.querySelector('.search');
? ? var text = document.querySelector('.text');
? ? input.onfocus = function(){
? ? ? ? text.style.color = 'rgb(200,200,200)'
? ? }
? ? input.onblur = function(){
? ? ? ? text.style.color = '#989898'
? ? }
? ? input.oninput = function(){
? ? ? ? text.style.display = 'none';
? ? if (input.value == '') {
? ? ? ? text.style.display = 'inline-block';
? ? }; ? ?}
? ? </script>
</body>
</html>
顯示效果:
1、未觸發(fā)事件的狀態(tài)

2、輸入框里獲取焦點(diǎn)的狀態(tài)

3、輸入框里輸入內(nèi)容

4、刪除里面內(nèi)容后

5、CSS樣式效果(hover)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- js實(shí)現(xiàn)搜索框關(guān)鍵字智能匹配代碼
- 基于Vue.js實(shí)現(xiàn)簡(jiǎn)單搜索框
- JavaScript實(shí)現(xiàn)搜索框的自動(dòng)完成功能(一)
- JS實(shí)現(xiàn)仿google、百度搜索框輸入信息智能提示的實(shí)現(xiàn)方法
- JavaScript實(shí)現(xiàn)百度搜索框效果
- JS+Ajax實(shí)現(xiàn)百度智能搜索框
- 自動(dòng)完成的搜索框javascript實(shí)現(xiàn)
- JS實(shí)現(xiàn)京東首頁(yè)之頁(yè)面頂部、Logo和搜索框功能
- JS實(shí)現(xiàn)微信彈出搜索框 多條件查詢功能
- javascript搜索框效果實(shí)現(xiàn)方法
相關(guān)文章
-
TypeScript之元組、數(shù)組及as?const的使用
TypeScript中的元組、數(shù)組和as?const關(guān)鍵字對(duì)于類型安全性和代碼可讀性非常重要,本文主要介紹了TypeScript之元組、數(shù)組及as?const的使用,感興趣的可以了解一下 2023-10-10
-
inquirer.js一個(gè)用戶與命令行交互的工具詳解
這篇文章主要介紹了inquirer.js一個(gè)用戶與命令行交互的工具詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧 2019-05-05
-
JavaScript使用prototype原型實(shí)現(xiàn)的封裝繼承多態(tài)示例
這篇文章主要介紹了JavaScript使用prototype原型實(shí)現(xiàn)的封裝繼承多態(tài),涉及javascript prototype與面向?qū)ο蟪绦蛟O(shè)計(jì)相關(guān)操作技巧,需要的朋友可以參考下 2018-08-08
-
微信小程序使用擴(kuò)展組件庫(kù)WeUI的入門教程
WeUI是一套同微信原生視覺體驗(yàn)一致的基礎(chǔ)樣式庫(kù),由微信官方設(shè)計(jì)團(tuán)隊(duì)為微信內(nèi)網(wǎng)頁(yè)和微信小程序量身設(shè)計(jì),令用戶的使用感知更加統(tǒng)一,下面這篇文章主要給大家介紹了關(guān)于微信小程序使用擴(kuò)展組件庫(kù)WeUI的相關(guān)資料,需要的朋友可以參考下 2022-04-04
-
分享幾個(gè)JavaScript運(yùn)算符的使用技巧
這篇文章主要介紹了分享幾個(gè)JavaScript運(yùn)算符的使用技巧,幫助大家更好的理解和學(xué)習(xí)使用JavaScript,感興趣的朋友可以了解下 2021-04-04
-
基于JS實(shí)現(xiàn)Android,iOS一個(gè)手勢(shì)動(dòng)畫效果
這篇文章主要介紹了基于JS實(shí)現(xiàn)Android,iOS一個(gè)手勢(shì)動(dòng)畫效果 的相關(guān)資料,需要的朋友可以參考下 2016-04-04
-
JavaScript操作XML實(shí)例代碼(獲取新聞標(biāo)題并分頁(yè),并分頁(yè))
XML 代碼部分 這是一個(gè)新聞的XML 文件,如果 NBody部分包含 XML 和Html 不可識(shí)別部分, 就 包含在DATA 表示附中。 2010-05-05
-
layer子層給父層頁(yè)面元素賦值,以達(dá)到向父層頁(yè)面?zhèn)髦档男Ч麑?shí)例
下面小編就為大家?guī)?lái)一篇layer子層給父層頁(yè)面元素賦值,以達(dá)到向父層頁(yè)面?zhèn)髦档男Ч麑?shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧 2017-09-09
最新評(píng)論
馬上就到雙十一了,我們?cè)诰〇|淘寶購(gòu)物,瘋狂剁手的同時(shí),有沒有注意到京東的搜索框呢,除了能進(jìn)行搜索內(nèi)容以外,它的樣式又是如何實(shí)現(xiàn)的呢?
下面就分析一下如何實(shí)現(xiàn)仿京東的搜索框。
核心分析:
JavaScript部分:
1、當(dāng)文本框獲取焦點(diǎn)的時(shí)候,div中的字體顏色變?yōu)閞gb(200,200,200);
2、當(dāng)文本框失去焦點(diǎn)事件發(fā)生時(shí),div中的字體顏色變成原來(lái)的樣式#989898;
3、當(dāng)文本框輸入內(nèi)容時(shí),div的屬性變?yōu)?none,表現(xiàn)效果為文字消失;
4、當(dāng)清除文本框里面內(nèi)容時(shí),divdiv的屬性變?yōu)?inline-block,表現(xiàn)效果為文字消失;
因?yàn)槭窃谖谋究蚶锩骘@示出來(lái)的內(nèi)容,改變的是表單元素,判斷文本框里面是否有輸入內(nèi)容,判斷的依據(jù)是 表單的value值是否為 空字符串。
實(shí)現(xiàn)代碼:
<!DOCTYPE html> <html lang="en"> <head> ? ? <meta charset="UTF-8"> ? ? <title>仿京東搜索框</title> ? ? <style> ? ? *{ ? ? ? ? margin: 0;padding:0; ? ? } ? ? .from{ ? ? ? ? border:2px solid #e2231a; ? ? ? ? width:490px; ? ? ? ? height:36px; ? ? ? ? position:relative; ? ? ? ? margin:100px auto; ? ? ? ? font-size: 12px; ? ? } ? ? .text{ ? ? ? ? position:absolute; ? ? ? ? line-height: 36px; ? ? ? ? left:27px; ? ? ? ? color:#989898; ? ? ? ? z-index:-1; ? ? } ? ? .search{ ? ? ? ? position:absolute; ? ? ? ? left:22px; ? ? ? ? width:430px; ? ? ? ? height:34px; ? ? ? ? outline:none; ? ? ? ? border:1px solid transparent; ? ? ? ? background:transparent; ? ? ? ? line-height: 34px; ? ? ? ? overflow: hidden; ? ? } ? ? .button{ ? ? ? ? position:absolute; ? ? ? ? right:0px; ? ? ? ? width:58px; ? ? ? ? height:36px; ? ? ? ? background-color: #e2231a; ? ? ? ? border:1px solid transparent; ? ? ? ? margin:auto; ? ? ? ? outline:none; ? ? ? ? cursor: pointer; ? ? } ? ? button:hover{ ? ? ? ? background-color: #c81623; ? ? } ? ? span img{ ? ? ? ? position:absolute; ? ? ? ? right:65px; ? ? } ? ? </style> </head> ? ? <div class='from'> ? ? ? ? <div class='text'>暗夜游戲本</div> ? ? ? ? <input type="text" class="search" value=''> ? ? ? ? <span class='photo' title="未選擇取任何文件"> ? ? ? ? ? ? <img src="camera.png" alt=""> ? ? ? ? </span> ? ? ? ? <button class='button'> ? ? ? ? ? ? <i><img src="search.png" ?alt=""></i> ? ? ? ? </button> ? ? </div> <body> ? ? <script> ? ? var div = document.querySelector('.from'); ? ? var input = document.querySelector('.search'); ? ? var text = document.querySelector('.text'); ? ? input.onfocus = function(){ ? ? ? ? text.style.color = 'rgb(200,200,200)' ? ? } ? ? input.onblur = function(){ ? ? ? ? text.style.color = '#989898' ? ? } ? ? input.oninput = function(){ ? ? ? ? text.style.display = 'none'; ? ? if (input.value == '') { ? ? ? ? text.style.display = 'inline-block'; ? ? }; ? ?} ? ? </script> </body> </html>
顯示效果:
1、未觸發(fā)事件的狀態(tài)
2、輸入框里獲取焦點(diǎn)的狀態(tài)
3、輸入框里輸入內(nèi)容
4、刪除里面內(nèi)容后
5、CSS樣式效果(hover)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js實(shí)現(xiàn)搜索框關(guān)鍵字智能匹配代碼
- 基于Vue.js實(shí)現(xiàn)簡(jiǎn)單搜索框
- JavaScript實(shí)現(xiàn)搜索框的自動(dòng)完成功能(一)
- JS實(shí)現(xiàn)仿google、百度搜索框輸入信息智能提示的實(shí)現(xiàn)方法
- JavaScript實(shí)現(xiàn)百度搜索框效果
- JS+Ajax實(shí)現(xiàn)百度智能搜索框
- 自動(dòng)完成的搜索框javascript實(shí)現(xiàn)
- JS實(shí)現(xiàn)京東首頁(yè)之頁(yè)面頂部、Logo和搜索框功能
- JS實(shí)現(xiàn)微信彈出搜索框 多條件查詢功能
- javascript搜索框效果實(shí)現(xiàn)方法
相關(guān)文章
TypeScript之元組、數(shù)組及as?const的使用
TypeScript中的元組、數(shù)組和as?const關(guān)鍵字對(duì)于類型安全性和代碼可讀性非常重要,本文主要介紹了TypeScript之元組、數(shù)組及as?const的使用,感興趣的可以了解一下2023-10-10inquirer.js一個(gè)用戶與命令行交互的工具詳解
這篇文章主要介紹了inquirer.js一個(gè)用戶與命令行交互的工具詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05JavaScript使用prototype原型實(shí)現(xiàn)的封裝繼承多態(tài)示例
這篇文章主要介紹了JavaScript使用prototype原型實(shí)現(xiàn)的封裝繼承多態(tài),涉及javascript prototype與面向?qū)ο蟪绦蛟O(shè)計(jì)相關(guān)操作技巧,需要的朋友可以參考下2018-08-08微信小程序使用擴(kuò)展組件庫(kù)WeUI的入門教程
WeUI是一套同微信原生視覺體驗(yàn)一致的基礎(chǔ)樣式庫(kù),由微信官方設(shè)計(jì)團(tuán)隊(duì)為微信內(nèi)網(wǎng)頁(yè)和微信小程序量身設(shè)計(jì),令用戶的使用感知更加統(tǒng)一,下面這篇文章主要給大家介紹了關(guān)于微信小程序使用擴(kuò)展組件庫(kù)WeUI的相關(guān)資料,需要的朋友可以參考下2022-04-04分享幾個(gè)JavaScript運(yùn)算符的使用技巧
這篇文章主要介紹了分享幾個(gè)JavaScript運(yùn)算符的使用技巧,幫助大家更好的理解和學(xué)習(xí)使用JavaScript,感興趣的朋友可以了解下2021-04-04基于JS實(shí)現(xiàn)Android,iOS一個(gè)手勢(shì)動(dòng)畫效果
這篇文章主要介紹了基于JS實(shí)現(xiàn)Android,iOS一個(gè)手勢(shì)動(dòng)畫效果 的相關(guān)資料,需要的朋友可以參考下2016-04-04JavaScript操作XML實(shí)例代碼(獲取新聞標(biāo)題并分頁(yè),并分頁(yè))
XML 代碼部分 這是一個(gè)新聞的XML 文件,如果 NBody部分包含 XML 和Html 不可識(shí)別部分, 就 包含在DATA 表示附中。2010-05-05layer子層給父層頁(yè)面元素賦值,以達(dá)到向父層頁(yè)面?zhèn)髦档男Ч麑?shí)例
下面小編就為大家?guī)?lái)一篇layer子層給父層頁(yè)面元素賦值,以達(dá)到向父層頁(yè)面?zhèn)髦档男Ч麑?shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09