這是一個簡單的維基百科搜索器,主要功能如下:
1.當搜索框有字符輸入時,輸入框尾部彈出一個小叉叉,可以重置搜索框(如有搜索結果的話,會順便清除掉現有的搜索結果)。
2.搜索一個詞條,會出現N個搜索結果,這些搜索結果都是與被搜索詞條相等或相關的。
3.點擊詞條,可以去到該詞條對應的維基百科頁面。
4.有一個隨機按鈕,點擊可以去到一個隨機的維基百科詞條頁面。
HTML代碼如下:
<div class="frame"> <h1 class="title">Wikipedia Viewer</h1> <form class="search-bar"> <span><i class="fa fa-times search-reset" aria-hidden="true"></i></span> <input type="text" required="required"> <button type="submit" class="search-btn"><i class="fa fa-search" aria-hidden="true"></i></button> <button type="button" class="random-btn"><i class="fa fa-random" aria-hidden="true"></i></button> </form> <section></section> </div>*使用到了font-awesome.CSS。
CSS就不放出來了,DEMO鏈接在文章最后。JS方面使用到了JQUERY:
$(document).ready(function() { var searchBar = $(".search-bar > input"); var searchReset = $(".search-reset"); var searchBtn = $(".search-btn"); var randomBtn = $(".random-btn"); //Toggle Reset searchBar.keyup(function() { if ($(this).val()) { searchReset.show(); } else { searchReset.hide(); } }); //Execute Reset & Clean Value searchReset.click(function() { searchBar.val(''); $(this).hide(); $(".result").hide(); }); function getData() { //Get Data from Wikipedia var api = "https://en.wikipedia.org/w/api.php?action=query&PRop=extracts&exlimit=max&format=json&exsentences=1&exintro=&explaintext=&generator=search&gsrlimit=10&gsrsearch="; var getLink = api + searchBar.val(); var html = ""; var goLink = "http://en.wikipedia.org/?curid="; $.Ajax({ url: getLink, type: "get", dataType: "JSONP", success: function(data) { var results = data.query.pages; var pgs = Object.keys(results); //returns array of enumerable properties pgs.forEach(function(page) { //get every properties for results var title = results[page].title; var extract = results[page].extract; var pageLink = goLink + results[page].pageid; //create elements and show'em html += "<div class='result'><a href='" + pageLink + "' target='_blank'><h3 class='result-title'>" + title + "</h3></a><p class='result-content'>" + extract + "</p></div>"; }); $("section").html(html); }, error: function(x,s,e) { alert(s); } }); } getData(); //Search it! searchBtn.click(function(event) { event.preventDefault(); getData(); }); //Get a random page function RandomNum(Min, Max) { var Range = Max - Min; var Rand = Math.random(); var num = Min + Math.round(Rand * Range); return num; } randomBtn.click(function(){ var curid = RandomNum(10000, 9999999); window.open("http://en.wikipedia.org/?curid="+curid); });});界面如圖:1.開始界面
2.輸入任何文本就會跳出的小叉叉
3.搜索結果出現
DEMO在這兒,歡迎來FORK:Wikipedia Viewer
新聞熱點
疑難解答