JavaScript-197:模拟京东快递单号查询案例效果图
结构
<div class="search">
<div class="con">123</div>
<input type="text"placeholder="请输⼊您的快递单号"class="jd">
</div>
CSS
.search{
position: relative;
width: 178px;
margin: 100px;
}
.con{
display: none;
position: absolute;
top: -40px;
width: 171px;
border: 1px solid rgba(0, 0, 0, 2);
box-shadow: 0 2px 4px rgba(0, 0, 0, 2);
padding: 5px 0;
font-size: 18px;
line-height: 20px;
color: #333;
}
.con::before{
content:'';
width: 0;
height: 0;
position: absolute;
top: 28px;
left: 18px;
border: 8px solid #000;
border-style: solid dashed dashed;
border-color: #fff transparent transparent;
}
JS
// 快递单号输⼊内容是上⾯的⼤号字体盒⼦(con)显⽰这⾥⾯的字号更⼤(显⽰) // 表单检测⽤户输⼊:刚给表单添加键盘事件
// 同事把快递单号⾥⾯的值(value)获取过来赋值给con盒⼦(innerText)作为内容// 如果快递单号⾥⾯内容为空则隐藏⼤号字体盒⼦(con)盒⼦
var con = document.querySelector('.con');
var jd = document.querySelector('.jd');
jd.addEventListener('keyup',function()
{
if(this.value ==='')
{
con.style.display ='none';
}else
{
con.style.display ='block';
con.innerHTML =this.value;
}
})
/
/ 当我们失去焦点就隐藏这个con盒⼦
jd.addEventListener('blur',function()
{
blur事件
con.style.display ='none';
})
// 当我们获得焦点就显⽰这个con盒⼦
jd.addEventListener('focus',function()
{
if(this.value !=='')
{
con.style.display ='block';
}
})