您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)使用jsonp怎么實(shí)現(xiàn)一個(gè)百度下拉框功能,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
思路就是獲取用戶輸入,然后根據(jù)用戶輸入調(diào)用百度的一個(gè)接口jsonp實(shí)現(xiàn)跨域請(qǐng)求,然后將百度返回給的內(nèi)容渲染數(shù)據(jù)到視圖。需要注意的就是,發(fā)送請(qǐng)求的時(shí)候記得編碼用戶輸入的內(nèi)容
var obj=document.querySelector('#user-input'); var body=document.querySelectorAll('body')[0]; var ul=document.querySelector('#ul'); var inner=''; function render(data){ //刪除前一次請(qǐng)求的li的內(nèi)容 if(ul.innerHTML!=''){ ul.innerHTML=''; } for(let i = 0, length2 = data.s.length; i < length2; i++){ var li=document.createElement('li'); li.innerHTML=data.s[i]; ul.appendChild(li); } } obj.addEventListener('keyup',function(){ if(document.querySelector('#request')){ body.removeChild(document.querySelector('#request')); } var script=document.createElement('script'); script.id="request"; script.src="http://unionsug.baidu.com/su?wd="+encodeURI(obj.value.trim())+'&p=3&cb=render'; body.appendChild(script); }); //利用冒泡添加事件。 ul.addEventListener('click',function(e){ var e=e||window.event; window.location.href="https://www.baidu.com/s?word=" rel="external nofollow" +encodeURI(e.target.innerHTML); });
<style type="text/css"> *{ margin: 0; padding: 0; } ul{ margin-left: 10px; transition: all 1s ease; } input{ width: 300px; height: 40px; line-height: 40px; background: #4caf50a6; outline: none; border: none; border-radius: 10px; padding-left: 15px; color: white; font-size: 20px; } li{ cursor: pointer; transition: all 1s ease; list-style: none; width: 280px; height: 30px; line-height: 30px; background: #8acb8da8; color: #888e4a; padding-left: 10px; } li:hover{ background: #64a968; color: #caf1cc; } input::-webkit-input-placeholder{ color:white; } input::-moz-placeholder{ /* Mozilla Firefox 19+ */ color:white; } input:-moz-placeholder{ /* Mozilla Firefox 4 to 18 */ color:white; } input:-ms-input-placeholder{ /* Internet Explorer 10-11 */ color:white; } </style>
關(guān)于使用jsonp怎么實(shí)現(xiàn)一個(gè)百度下拉框功能就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。