JavaScript實現(xiàn)京東快遞單號查詢
JavaScript網(wǎng)頁制作–京東快遞單號查詢,供大家參考,具體內(nèi)容如下

上篇講到了京東網(wǎng)頁的一個可能不被大多數(shù)人熟知的小功能,S鍵自動獲得焦點,相比于那個功能,這個快遞單號查詢的功能可能更明了一點,雖然我也覺得很雞肋。在網(wǎng)頁搜索京東快遞單號查詢后,會出現(xiàn)這樣的一個功能,當你在快遞單號欄輸入快遞單號的時候,上方會出現(xiàn)一個較大的文本框,用較大的字體顯示出你輸入的快遞單號。(雖然我覺得字號也沒有差很多)
功能實現(xiàn):
1、在輸入快遞單號的時候,上方出現(xiàn)一個盒子,這個盒子的字號更大。
2、表單檢測用戶輸入,添加鍵盤事件。
3、將輸入框快遞單號的值獲取給上方的盒子的innerText。
4、快遞單號里面的value值為空時隱藏上方的盒子。

在沒有輸入的情況下,只顯示input框

在輸入快遞單號的時候,input框上方出現(xiàn)一個盒子,同步輸入的快遞單號。
程序實現(xiàn):
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>京東快遞單號查詢</title>
<style>
div {
width: 170px;
height: 30px;
border: 1px solid black;
font-size: 20px;
}
</style>
</head>
<body>
<div style="display: none;"></div>
<input type="text">
<button >查詢</button>
<script>
var input = document.querySelector('input');
var div = document.querySelector('div');
//當input框獲得焦點時
input.addEventListener('focus',function(){
//如果input框中的內(nèi)容不為空
if(input.value != ''){
//顯示div盒子
div.style.display = 'block';
}
input.addEventListener('keyup',function(){
//如果div內(nèi)容為空 隱藏div
if(input.value ===''){
div.style.display = 'none';
}else{
//div內(nèi)容不為空 顯示div
div.style.display = 'block';
//將input中的值賦給div
div.innerText = input.value;
}
})
})
//當input框失去焦點時隱藏div
input.addEventListener('blur',function(){
div.style.display = 'none';
})
</script>
</body>
</html>
在程序監(jiān)聽事件中不使用keydown / keypress的原因:
keydown / keypress在按下鍵盤時觸發(fā),此時input框中沒有內(nèi)容,按下后有了內(nèi)容,但是并沒有再次觸發(fā),而此時div盒子并不會彈出來,在下一次鍵盤按下時會彈出div盒子,盒子中會顯示第一次輸入的數(shù)字。因此在使用keydown / keypress時會出現(xiàn)數(shù)據(jù)不同步的現(xiàn)象。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
JS 在指定數(shù)組中隨機取出N個不重復的數(shù)據(jù)
這篇文章主要介紹了JS 在指定數(shù)組中隨機取出N個不重復數(shù)據(jù)的方法,需要的朋友可以參考下2014-06-06

