利用JavaScript模擬京東快遞單號查詢效果
1、上面放大框開始是隱藏的,當輸入單號后,就顯示,并且里面的內(nèi)容是輸入框的內(nèi)容的字體的放大
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> table { margin: 20px; border: none } p { font-size: 15px; } input { height: 15px } button { background-color: rgb(77, 132, 233); border: none; } a { text-decoration: none; color: white; font-size: 15px; } div { font-size: 25px; width: 100px; height: auto; border: 1px solid black; display: none; position: absolute; top: 0px } </style> </head> <body> <table> <tr> <td> <p>快遞單號</p> </td> <td> <input type="text" placeholder="請輸入您的快遞單號"></td> <td> <button><a href="">查詢</a></button></td> </tr> </table> <div></div> <script> //當開始在輸入框中鍵入內(nèi)容的時候,div模塊就開始顯示,里面的內(nèi)容是input里面的內(nèi)容,但字體變大 var input = document.querySelector('input') var div = document.querySelector('div') input.addEventListener('keyup', function() { if (input.value != '') { div.style.display = 'block' div.innerHTML = input.value } else { div.style.display = 'none' div.innerHTML = '' } }) </script> </body> </html>
問題:
1、上面放大框的效果怎么做,倒三角雖然可以使用border來完成,但是效果會有顏色的填充
2、當輸入框輸入的文字較多的時候,怎么自動的改變上面放大框的高度和寬度
.con::before { content: ''; height: 0; height: 0; position: absolute; top: 28px; left: 18px; border: 8px solid #000; border-style: solid dashed dashed; border-color: #fff transparent transparent }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .search { position: relative; width: 178px; margin: 100px } .con { 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; display: none; } .con::before { content: ''; height: 0; height: 0; position: absolute; top: 28px; left: 18px; border: 8px solid #000; border-style: solid dashed dashed; border-color: #fff transparent transparent } </style> </head> <body> <div class="search"> <div class="con"></div> <input type="text" placeholder="請輸入您的快遞單號" class="jd"> </div> <script> //當開始在輸入框中鍵入內(nèi)容的時候,div模塊就開始顯示,里面的內(nèi)容是input里面的內(nèi)容,但字體變大 var jd = document.querySelector('.jd') var con = document.querySelector('.con') jd.addEventListener('keyup', function() { //要區(qū)分keyup、keydown、keypress之間的區(qū)別 if (jd.value != '') { con.style.display = 'block' con.innerHTML = jd.value } else { con.style.display = 'none' con.innerHTML = '' } }) </script> </body> </html>
如果換成keydown或者keypress來注冊事件的話,會少一個字,這是因為文字還沒有落入文本框的時候,就以及觸發(fā)了事件,但此時里面的內(nèi)容還是空的,因此上面的文本框是不顯示的。第二次按下的時候,立刻觸發(fā)事件,此時字并沒有進入盒子,盒子里面留下的只有前一個字。
注意區(qū)別
keypress更加不行,因為對于功能鍵是沒有效果的。
4、當失去焦點的時候,就隱藏con。得到焦點就顯示(onfocus、onblur)
<script> //當開始在輸入框中鍵入內(nèi)容的時候,div模塊就開始顯示,里面的內(nèi)容是input里面的內(nèi)容,但字體變大 var jd = document.querySelector('.jd') var con = document.querySelector('.con') jd.addEventListener('keyup', function() { //要區(qū)分keyup、keydown、keypress之間的區(qū)別 if (jd.value != '') { con.style.display = 'block' con.innerHTML = jd.value } else { con.style.display = 'none' con.innerHTML = '' } }) jd.addEventListener('focus', function() { if (jd.value != '') { con.style.display = 'block' } }) jd.addEventListener('blur', function() { con.style.display = '' }) </script>
以上就是利用JavaScript模擬京東快遞單號查詢效果的詳細內(nèi)容,更多關于JavaScript快遞單號查詢的資料請關注腳本之家其它相關文章!
相關文章
Javascript document.referrer判斷訪客來源網(wǎng)址
用簡單幾行的javascript,就可抓到使用的來源,以及作出一些防范的措施。2009-12-12Three.js+React實現(xiàn)3D開放世界小游戲
本文使用?Three.js?+?React?+?CANNON?技術棧,實現(xiàn)通過滑動屏幕控制模型在3D世界里運動的?Low?Poly?低多邊形風格小游戲,感興趣的可以了解一下2022-04-04javascript跟隨滾動效果插件代碼(javascript Follow Plugin)
這篇文章介紹了javascript跟隨滾動效果插件代碼(javascript Follow Plugin),有需要的朋友可以參考一下2013-08-08