百度搜索框里一有内容就会自动联想到一些热词,用js可以实现吗?怎么写呢?

JavaScript010

百度搜索框里一有内容就会自动联想到一些热词,用js可以实现吗?怎么写呢?,第1张

可以的~但是代码我就不给你写了~太费劲,给你提供一个思路吧。

大致上就是实时监控输入框中的文字,然后有变化的时候就获取内容,并且传到PHP或者别的文件中去,然后用后台脚本语言查询数据库,把对应的词查出来,然后再返回给前端,读取出来~我知道一个叫backbone.js的框架可以轻松实现这种功能~如果自己写的话可能也不会太久~

試試這個: <mce:script type="text/javascript"><!-- function getAreaRange(obj) { var pos = new Object() obj.focus()var range = document.selection.createRange()range.moveStart("word",-1)range.moveEnd( "word", 1 )if(range.text.substring(0,1)=="")range.moveStart( "character", 1 )if(range.text.substring(range.text.length-1)=="")range.moveEnd( "character", -1 )range.select() } // --></mce:script><body><textarea id="text" onclick="getAreaRange(this)"><mce:script type="text/javascript"><!-- function getAreaRange(obj) { var pos = new Object()var cloneif (isIE) { obj.focus()var range = document.selection.createRange()clone = range.duplicate()clone.moveToElementText(obj)clone.setEndPoint( 'EndToEnd', range )pos.start = clone.text.length - range.text.lengthpos.end = clone.text.length - range.text.length + range.text.length}else if(window.getSelection()) { pos.start = obj.selectionStartpos.end = obj.selectionEnd} var ed=obj.value.indexOf("",pos.start)var st=obj.value.substring(0,ed).lastIndexOf("")+1 if (isIE) { clone.moveStart("character",st)clone.moveEnd( "character", ed-pos.end )clone.select()}else if(window.getSelection()) { obj.selectionStart=stobj.selectionEnd=ed} } var isIE = (navigator.appName.toLowerCase().indexOf('internet explorer')+1?1:0)// --></mce:script><body><textarea id="text" onclick="getAreaRange(this)">

1.search搜索联想,用户在不断输入值时,用防抖来节约ajax请求。

2.滚动条滚动的时候触发事件

1.鼠标不断点击触发,mousedown(单位时间内只触发一次)

2.上拉触底加载更多