天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

利用JQuery為搜索欄增加tag提示

很簡單的一個功能,就是當用戶在搜索欄輸入搜索字符時候,利用JQuery的功能把一些預設好的關鍵字浮現出來,除了讓用戶意外一下,還有就是讓用戶簡化輸入。比如象下圖的樣子:

tag-suuggestion

實現的方法很簡單,首先是要在你的網站上加載JQuery,然后再加載下面的JS文件,下載之
復制代碼 代碼如下:
(function($){var globalTags=[];window.setGlobalTags=function(tags){globalTags=getTags(tags);};function getTags(tags){var tag,i,goodTags=[];for(i=0;i<tags.length;i++){tag=tags[i];if(typeof tags[i]=='object'){tag=tags[i].tag;}
goodTags.push(tag.toLowerCase());}
return goodTags;}
$.fn.tagSuggest=function(options){var defaults={'matchClass':'tagMatches','tagContainer':'span','tagWrap':'span','sort':true,'tags':null,'url':null,'delay':0,'separator':' '};var i,tag,userTags=[],settings=$.extend({},defaults,options);if(settings.tags){userTags=getTags(settings.tags);}else{userTags=globalTags;}
return this.each(function(){var tagsElm=$(this);var elm=this;var matches,fromTab=false;var suggestionsShow=false;var workingTags=[];var currentTag={"position":0,tag:""};var tagMatches=document.createElement(settings.tagContainer);function showSuggestionsDelayed(el,key){if(settings.delay){if(elm.timer)clearTimeout(elm.timer);elm.timer=setTimeout(function(){showSuggestions(el,key);},settings.delay);}else{showSuggestions(el,key);}}
function showSuggestions(el,key){workingTags=el.value.split(settings.separator);matches=[];var i,html='',chosenTags={},tagSelected=false;currentTag={position:currentTags.length-1,tag:''};for(i=0;i<currentTags.length&&i<workingTags.length;i++){if(!tagSelected&¤tTags[i].toLowerCase()!=workingTags[i].toLowerCase()){currentTag={position:i,tag:workingTags[i].toLowerCase()};tagSelected=true;}
chosenTags[currentTags[i].toLowerCase()]=true;}
if(currentTag.tag){if(settings.url){$.ajax({'url':settings.url,'dataType':'json','data':{'tag':currentTag.tag},'async':false,'success':function(m){matches=m;}});}else{for(i=0;i<userTags.length;i++){if(userTags[i].indexOf(currentTag.tag)===0){matches.push(userTags[i]);}}}
matches=$.grep(matches,function(v,i){return!chosenTags[v.toLowerCase()];});if(settings.sort){matches=matches.sort();}
for(i=0;i<matches.length;i++){html+='<'+settings.tagWrap+' class="_tag_suggestion">'+matches[i]+'</'+settings.tagWrap+'>';}
tagMatches.html(html);suggestionsShow=!!(matches.length);}else{hideSuggestions();}}
function hideSuggestions(){tagMatches.empty();matches=[];suggestionsShow=false;}
function setSelection(){var v=tagsElm.val();if(v==tagsElm.attr('title')&&tagsElm.is('.hint'))v='';currentTags=v.split(settings.separator);hideSuggestions();}
function chooseTag(tag){var i,index;for(i=0;i<currentTags.length;i++){if(currentTags[i].toLowerCase()!=workingTags[i].toLowerCase()){index=i;break;}}
if(index==workingTags.length-1)tag=tag+settings.separator;workingTags[i]=tag;tagsElm.val(workingTags.join(settings.separator));tagsElm.blur().focus();setSelection();}
function handleKeys(ev){fromTab=false;var type=ev.type;var resetSelection=false;switch(ev.keyCode){case 37:case 38:case 39:case 40:{hideSuggestions();return true;}
case 224:case 17:case 16:case 18:{return true;}
case 8:{if(this.value==''){hideSuggestions();setSelection();return true;}else{type='keyup';resetSelection=true;showSuggestionsDelayed(this);}
break;}
case 9:case 13:{if(suggestionsShow){chooseTag(matches[0]);fromTab=true;return false;}else{return true;}}
case 27:{hideSuggestions();setSelection();return true;}
case 32:{setSelection();return true;}}
if(type=='keyup'){switch(ev.charCode){case 9:case 13:{return true;}}
if(resetSelection){setSelection();}
showSuggestionsDelayed(this,ev.charCode);}}
tagsElm.after(tagMatches).keypress(handleKeys).keyup(handleKeys).blur(function(){if(fromTab==true||suggestionsShow){fromTab=false;tagsElm.focus();}});tagMatches=$(tagMatches).click(function(ev){if(ev.target.nodeName==settings.tagWrap.toUpperCase()&&$(ev.target).is('._tag_suggestion')){chooseTag(ev.target.innerHTML);}}).addClass(settings.matchClass);setSelection();});};})(jQuery);

接著就是編輯你自己的關鍵字。這里的做法是你自己自行編輯,還有很多方法是直接查詢WordPress的數據庫的。但那樣做就顯得很專業的樣子。對于我自己來說,本來站內的搜索功能就不是很受用,為了那沒多被使用過幾次的搜索而復雜這個提示功能顯然不值,所以還是自己來編輯一些重要的關鍵字好了。下面的代碼也要整合到網站的JS文件中:
復制代碼 代碼如下:
<script type="text/Javascript">
$(document).ready(function() {
$('#tags').tagSuggest({
tags: ["WordPress","WordPress 主題","WordPress 插件","生活","巴黎","設計","法國","照片","朋友","技巧","下載","JQuery","JQuery 教程","JQuery 例子","twitter","Google","seo","firefox","firefox 擴展","css","ajax","theme","theme 教程","theme 技巧","Js-O3","Js-Paper","blackberry","blackberry 8900"]
});
});
</script>

能看出上面的關鍵字編輯了吧。
然后最后一步就是需要指定相應的搜索欄,如上面代碼中的"#tags"就是決定這個東西。修改搜索欄的ID,讓其適應則可。也就是說為搜索欄的input內添加一個id="tags"則可。或者你也可以修改上面的代碼內的ID,讓其適應你原有的搜索欄內input的ID。
當然還有對關鍵字的樣式設定,這個就隨大家愛好了,我這里不列出。
tag.js 打包下載

JavaScript技術利用JQuery為搜索欄增加tag提示,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲精品午夜久久久伊人 | 久久综合色悠悠 | 一本久道久久综合婷婷五月 | 免费人成网站在线观看10分钟 | 99手机在线视频 | 射死你天天日 | 国语对白嫖老妇胖老太 | 777福彩社区 | 男gv纯肉免费视频 | 棉签和冰块怎么弄出牛奶视频 | 无限资源日本2019版免费 | 国产成人无码一区AV在线观看 | 亚洲午夜久久影院 | 久草在线福利视频在线播放 | 2021久久99国产熟女人妻 | 国内精品久久久久影院男同志 | 好爽好深太大了再快一点 | 出租屋交换人妻 全文 | 2021自产拍在线观看视频 | 亚洲一区精品伊人久久伊人 | 97色伦图片97色伦图影院久久 | 国产高清国内精品福利色噜噜 | 2021精品乱码多人收藏 | 97国产揄拍国产精品人妻 | 黄子佼81岁父亲现状曝光 | 国产做国产爱免费视频 | 国产午夜理论片YY8840Y | 99热视频这里只有久久精品 | 24小时日本在线 | 免费鲁丝片一级在线观看 | yellow免费观看直播 | 九九热精品在线 | 色中色入口2015 | 国产成人精品视频频 | 亚洲理论在线a中文字幕 | 最新 国产 精品 精品 视频 | 97精品一区二区视频在线观看 | 免费三级现频在线观看 | 绝色娇嫩美人妻老师 | 国内精品久久久久影院亚洲 | 久久精品国产福利电影网 |