仿百度、Google的suggest特效功能,原始碼分析
1.簡單的模仿效果圖
2.專案分析及總結
專案描述:Hibernate+struts+jQuery+ajax+mysql
這也是一個整合hibernate與struts連線資料庫的專案,利用jQuery實現介面佈局,ajax傳送請求,即獲取資料,輕巧的jQuery只用了僅僅30行程式碼就完成模仿百度或Google的suggest的模組功能,而且還附加了雙擊事件和回車事件;下面附上核心原始碼,原始碼中有詳細的註釋。
轉載請註明出處:楊凱專屬頻道
這裡只附上核心js程式碼和struts程式碼,更多原始碼可以去資源模組下載,本人已免費上傳至:tianyazaiheruan
3.核心程式碼
$(document).ready(
function() {
// 給input輸入框註冊keyup鍵盤點選事件
$("#keyWord").bind(
"keyup",
function() {
// 獲取輸入的值
var keyVal = $(this).val();
// 判斷如果輸入框為空時,清空隱藏select並返回,不再執行以下程式碼
if ("" == keyVal) {
// 清空並隱藏select框
$("#words").empty().hide(); // 物件鏈式操作,jQuery的特性
return;
}
// 傳送ajax請求
$.post("./csdn/UserAction_keyVals.action?time="
+ new Date().getTime(), {
keyWord : keyVal
}, function(data) {
// 清空
$("#words").empty();
// 獲取相關的屬性
var jsonUsers = data.users;
for ( var i = 0; i < jsonUsers.length; i++) {
// 得到具體的user物件
var jsonUser = jsonUsers[i];
// 建立option
var $opt = $("<option></option>");
$opt.text(jsonUser.name);
// 把建立的opt新增到select中
$("#words").append($opt).show();
}
}, "json");
// 為select框註冊雙擊事件
$("#words").bind("dblclick", function() {
// 為input框設值
$("#keyWord").val($(this).val());
$("#words").empty().hide();
});
// 為select框註冊回車事件
$("#words").bind("keyup", function(event) {
// 按鍵13為Enter鍵
if (event.which == 13) {
$("#keyWord").val($(this).val());
$("#words").empty().hide();
}
});
});
});
Struts.Xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<include file="www/csdn/project/resource/struts-constant.xml" />
<package name="test" namespace="/csdn" extends="json-default">
<action name="UserAction_*" class="www.csdn.project.action.UserAction"
method="{1}">
<result name="checkName" type="json">
<param name="root">msg</param>
<!-- <param name="includeProperties">msg</param> -->
</result>
<result name="keyVals" type="json">
<param name="includeProperties">users\[\d+\]\.name</param>
</result>
<result name="input">/index.jsp</result>
</action>
</package>
</struts>
相關文章
- LoadRunner測試Google SuggestGo
- 仿網易新聞效果原始碼分析原始碼
- AJAX案例研究之google suggest(轉)Go
- 仿京東商城原始碼具備哪些功能?原始碼
- 求助一套仿百度網盤的原始碼 謝謝原始碼
- 通過原始碼分析Mybatis的功能原始碼MyBatis
- 精美的web前端原始碼的特效Web前端原始碼特效
- 仿Express原始碼實現(-)Express原始碼
- PHP+Mysql高仿百度知道簽到原始碼演示與下載PHPMySql原始碼
- 揭秘仿比心app原始碼的開發背後,功能是如何實現的APP原始碼
- 高仿微信搶紅包動畫特效動畫特效
- solr的suggest模組Solr
- Android撩妹特效系列!仿instagram文字自動排版功能實現!Android特效
- thinkphp仿今日頭條原始碼PHP原始碼
- 運營級仿微信仿陌陌仿快手app原始碼出售轉讓APP原始碼
- 20款前端特效及部分原始碼前端特效原始碼
- 實現輸入內容提示的功能(仿google_百度輸入框提示)jquery.ui.autocomplete.js外掛GojQueryUIJS
- React Native 仿抖音點贊特效React Native特效
- html 仿百度百科導航下拉選單功能例項程式碼介紹HTML
- Retrofit原始碼分析三 原始碼分析原始碼
- 仿知乎+微博系統原始碼 帶打賞功能+內容付費問答原始碼
- Giraph原始碼分析(七)—— 新增訊息統計功能原始碼
- Google guava原始碼之EventBusGoGuava原始碼
- 集合原始碼分析[2]-AbstractList 原始碼分析原始碼
- 集合原始碼分析[1]-Collection 原始碼分析原始碼
- 集合原始碼分析[3]-ArrayList 原始碼分析原始碼
- Guava 原始碼分析之 EventBus 原始碼分析Guava原始碼
- Picasso原始碼分析(三):快照功能實現和HandlerThread的使用原始碼thread
- WiFiAp探究實錄--功能實現與原始碼分析WiFi原始碼
- Android 原始碼分析之 AsyncTask 原始碼分析Android原始碼
- 【JDK原始碼分析系列】ArrayBlockingQueue原始碼分析JDK原始碼BloC
- 以太坊原始碼分析(36)ethdb原始碼分析原始碼
- 以太坊原始碼分析(38)event原始碼分析原始碼
- 以太坊原始碼分析(41)hashimoto原始碼分析原始碼
- 以太坊原始碼分析(43)node原始碼分析原始碼
- 以太坊原始碼分析(52)trie原始碼分析原始碼
- Java原始碼分析:Guava之不可變集合ImmutableMap的原始碼分析Java原始碼Guava
- 自定義View:實現炫酷的點贊特效(仿即刻)View特效