自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從零開始學(xué)習(xí)jQuery之jQuery實(shí)施方案

開發(fā) 前端
本系列文章將帶您進(jìn)入jQuery的精彩世界, 其中有很多作者具體的使用經(jīng)驗(yàn)和解決方案, 即使你會(huì)使用jQuery也能在閱讀中發(fā)現(xiàn)些許秘籍.本篇文章屬于臨時(shí)插播, 用于介紹我在本公司的jQuery實(shí)施方案.

 

51CTO推薦專題:jQuery從入門到精通

有了前幾章扎實(shí)的基礎(chǔ)知識(shí)我們已經(jīng)可以在項(xiàng)目中投入使用jQuery了.再繼續(xù)深入學(xué)習(xí)jQuery前插播一下我的jQuery實(shí)施方案.

每個(gè)公司的情況都不同.比如我們公司的頁面文件都為用戶控件, 物理路徑和虛擬路徑?jīng)]有絕對(duì)的關(guān)系, 所以無法使用相對(duì)路徑(否則生產(chǎn)環(huán)境中會(huì)找不到文件). 項(xiàng)目繁多, 同一個(gè)虛擬目錄的不同文件夾對(duì)應(yīng)不同項(xiàng)目工程等等.

此方案并不是通用的, 但是有些方法可以借鑒, 同時(shí)也是希望能和大家一起討論幫忙指正.

一.類庫文件管理方案

存放根路徑: src\Assembly\resource.eLong.Web.Files\Resource\JSLib\jquery\

引用根路徑: http://resource.elong.com/JSLib/jquery/

壓縮版本引用路徑: http://resource.elong.com/JSLib/jquery/jquery-min-lastest.js

根路徑文件列表:

從零開始學(xué)習(xí)jQuery

 

在每一個(gè)Web工程項(xiàng)目下面建立js文件夾, 放置 jquery-vsdoc-lastest.js 文件:

從零開始學(xué)習(xí)jQuery

說明:

首先將所有版本的jQuery類庫放到靜態(tài)服務(wù)器上, 并且按照文件夾存放類庫文件. 但是會(huì)選出來一個(gè)***版本作為引用并且放置在根目錄.

根目錄下面包含如下文件:

名稱 內(nèi)容 說明
文件夾1.3.2 按照版本號(hào)組織的jQuery類庫. 對(duì)于1.3.2即以后的每個(gè)jquery版本, 會(huì)按照文件夾存放類庫文件. 但是會(huì)用***的穩(wěn)定版本覆蓋各lastest名稱的js文件.
文件夾plugin 存放插件的文件夾 將各種插件以文件夾的形式存放到此路徑下
jquery.extend-lastest.js elong自己擴(kuò)展的jQuery方法 未來我們將打造自己的javascript類庫.其中有一些核心的類庫放在此文件中. 相當(dāng)于我們自己的工具類庫. 通過擴(kuò)展jQuery實(shí)現(xiàn).
主要分為工具函數(shù)和包裝集函數(shù)兩類.
jquery-lastest.js jQuery未壓縮類庫***版本 ***的穩(wěn)定版本的jQuery原始類庫.
jquery-min-lastest.js jQuery壓縮類庫***版本 ***的穩(wěn)定版本的jQuery壓縮類庫.
jquery-vsdoc-lastest.js jQuery智能提示類庫***版本 ***的穩(wěn)定版本的jQuery智能提示類庫.

 

為了在開發(fā)時(shí)實(shí)現(xiàn)智能感知, 還需要將智能感知版本放置在每個(gè)web項(xiàng)目的js文件夾中. 因?yàn)閃eb項(xiàng)目眾多所以請(qǐng)以后***個(gè)使用者建立此文件夾并放入文件.

二. 類庫引用方案

在所有的頁面head中, ***引用jQuery的類庫, 使用絕對(duì)路徑:

http://resource.elong.com/JSLib/jquery/jquery-min-lastest.js

然后通過if(fasle)引入智能提示版本的腳本塊. 路徑使用"~"從根目錄開始查找. 我在各個(gè)頻道的項(xiàng)目源代碼中統(tǒng)一建立js文件夾并且放置jquery-vsdoc-lastest.js***的智能感知版本類庫. 注意此文件不需要打包上傳, 僅用于開發(fā)時(shí)的智能提示.

這樣可以確保編譯后的頁面只引入了壓縮版本的jQuery類庫.

示例代碼:

  1. <head runat="server">  
  2.     <title>jQuery 引用方案</title>  
  3.     <script type="text/javascript" src="http://resource.elong.com/JSLib/jquery/jquery-min-lastest.js"></script>  
  4.     <% if (false){%>  
  5.     <script src="~/js/jquery-vsdoc-lastest.js" ></script>  
  6.     <% }%>  
  7. </head> 

 

說明:

在我們的網(wǎng)站中, 靜態(tài)文件存儲(chǔ)在另外一個(gè)二級(jí)域名resource.elong.com下, 使用了CDN. 為了保證測(cè)試環(huán)境和正式環(huán)境一致只能使用絕對(duì)路徑引用jQuery庫. 但是使用絕對(duì)路徑引用jQuery智能提示版本后不會(huì)出現(xiàn)腳本智能提示. 所以我們通過此特性直接引用絕對(duì)路徑的壓縮版本jQuery類庫, 從而巧妙的解決了1.3.2壓縮版本引入后智能提示系統(tǒng)出錯(cuò)的問題.

雖然動(dòng)態(tài)頁面可以通過 if(false) 取消引入智能提示版本類庫, 但是在HTML頁面上就無法使用服務(wù)器語句塊.所以對(duì)于HTML頁面需要在開發(fā)完畢程序發(fā)布前手工刪除智能提示版本的引用.

 

三. 開發(fā)使用方案

jQuery是腳本庫而不是腳本框架, 無法限制使用者如何使用, 所以很容易讓頁面上的腳本變得混亂.

在沒有找到何時(shí)的腳本管理框架前, 使用如下方式在頁面上使用腳本:

1. 在頁面底部添加<script>區(qū)域, 兩個(gè)function分別放置 "事件綁定" 和 "加載時(shí)執(zhí)行" 的語句. 即使在加載時(shí)執(zhí)行的javascript也必須要保證DOM加載完畢后執(zhí)行. 所以兩個(gè)function都被嵌套在$()中保證在DOM加載完畢后調(diào)用.

2. 應(yīng)盡量避免在頭部加載腳本. 必須在頭部加載的可以在頁面head中添加一個(gè)script區(qū)域.

3."自定義函數(shù)"要放在"事件綁定"和"加載時(shí)執(zhí)行"語句塊之上, 并且不需要包含在$()中.

下面是一個(gè)完整頁面的示例代碼:

  1. <%@ Page Language="C#" %>  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  3. <html xmlns="http://www.w3.org/1999/xhtml">  
  4. <head runat="server">  
  5.     <title>jQuery 引用方案</title>  
  6.     <script type="text/javascript" src="http://resource.elong.com/JSLib/jquery/jquery-min-lastest.js"></script>  
  7.     <% if (false){%>  
  8.     <script src="~/js/jquery-vsdoc-lastest.js" type="text/javascript"></script>  
  9.     <% }%>  
  10.     <script type="text/javascript">  
  11.         //必須放在頭部加載的語句塊. 盡量避免使用  
  12.     </script>  
  13. </head>  
  14. <body>  
  15.     <div id="divMsg">Hello World!</div>  
  16.     <input id="btnShow" type="button" value="顯示" />  
  17.     <input id="btnHide" type="button" value="隱藏" /><br />  
  18.     <input id="btnChange" type="button" value="修改內(nèi)容為 Hello World, too!" />  
  19.     <script type="text/javascript" >  
  20.         //用戶自定義方法  
  21.         function demoMethod(event)  
  22.         {  
  23.             $("#divMsg").hide(500);  
  24.         }  
  25.  
  26.  
  27.         //事件綁定    
  28.         $(function()  
  29.         {                        
  30.             $("#btnShow").bind("click"function(event) { $("#divMsg").show(500); });  
  31.             $("#btnHide").bind("click", demoMethod);  
  32.             $("#btnChange").bind("click"function(event) { $("#divMsg").html("Hello World, too!"); });   
  33.         });  
  34.  
  35.         //加載時(shí)執(zhí)行的語句  
  36.         $(function()  
  37.         {              
  38.             $("#btnShow").attr("value""被修改后的顯示按鈕")   
  39.         });      
  40.     </script>  
  41. </body>  
  42. </html> 

 

原文鏈接:http://blog.csdn.net/hemingwang0902/archive/2009/06/09/4255811.aspx

【編輯推薦】

  1. 從零開始學(xué)習(xí)jQuery之讓頁面動(dòng)起來
  2. 從零開始學(xué)習(xí)jQuery之Ajax快餐
  3. 從零開始學(xué)習(xí)jQuery之管理jQuery包裝集
  4. 從零開始學(xué)習(xí)jQuery之***的選擇器
  5. 從零開始學(xué)習(xí)jQuery之你必須知道的JavaScript
責(zé)任編輯:陳貽新 來源: 旺仔的博客
相關(guān)推薦

2011-05-05 11:03:34

jQueryjavascript

2011-05-24 13:37:16

jQueryAjax

2011-06-09 10:17:17

jQuery

2011-06-01 14:51:54

jQuery

2011-04-19 13:32:01

jQueryjavascript

2011-04-26 15:07:48

jQuery

2023-11-14 16:14:49

2012-10-17 14:17:21

SAN網(wǎng)絡(luò)布線

2011-04-06 15:55:50

開發(fā)webOS程序webOS

2011-09-05 14:17:54

Sencha ToucMVC

2014-07-22 13:09:21

android

2023-03-21 07:35:43

2015-09-18 10:09:05

Swift

2018-08-20 08:15:50

編程語言Go語言切片

2015-11-17 16:11:07

Code Review

2018-04-18 07:01:59

Docker容器虛擬機(jī)

2019-01-18 12:39:45

云計(jì)算PaaS公有云

2020-07-02 15:32:23

Kubernetes容器架構(gòu)

2024-12-06 17:02:26

2009-10-22 12:58:45

校園綜合布線系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)