最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

從零開始學(xué)習(xí)jQuery (八) 插播:jQuery實(shí)施方案

 更新時(shí)間:2011年02月23日 22:57:22   作者:  
本篇文章屬于臨時(shí)插播, 用于介紹我在本公司的jQuery實(shí)施方案.

一.摘要

本系列文章將帶您進(jìn)入jQuery的精彩世界, 其中有很多作者具體的使用經(jīng)驗(yàn)和解決方案,  即使你會(huì)使用jQuery也能在閱讀中發(fā)現(xiàn)些許秘籍.

本篇文章屬于臨時(shí)插播,  用于介紹我在本公司的jQuery實(shí)施方案.

二.前言

有了前幾章扎實(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

根路徑文件列表:

image

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

image

說明:

首先將所有版本的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類庫.

示例代碼:

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

說明:

在我們的網(wǎng)站中, 靜態(tài)文件存儲(chǔ)在另外一個(gè)二級(jí)域名resource.elong.com下, 使用了CDN. 為了保證測試環(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è)完整頁面的示例代碼:

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>jQuery 引用方案</title>
  <script type="text/javascript" src="http://resource.elong.com/JSLib/jquery/jquery-min-lastest.js"></script>
  <% if (false){%>
  <script src="~/js/jquery-vsdoc-lastest.js" type="text/javascript"></script>
  <% }%>
  <script type="text/javascript">
    //必須放在頭部加載的語句塊. 盡量避免使用
  </script>
</head>
<body>
  <div id="divMsg">Hello World!</div>
  <input id="btnShow" type="button" value="顯示" />
  <input id="btnHide" type="button" value="隱藏" /><br />
  <input id="btnChange" type="button" value="修改內(nèi)容為 Hello World, too!" />
  <script type="text/javascript" >
    //用戶自定義方法
    function demoMethod(event)
    {
      $("#divMsg").hide(500);
    }


    //事件綁定 
    $(function()
    {           
      $("#btnShow").bind("click", function(event) { $("#divMsg").show(500); });
      $("#btnHide").bind("click", demoMethod);
      $("#btnChange").bind("click", function(event) { $("#divMsg").html("Hello World, too!"); }); 
    });

    //加載時(shí)執(zhí)行的語句
    $(function()
    {      
      $("#btnShow").attr("value", "被修改后的顯示按鈕") 
    });  
  </script>
</body>
</html>

六.總結(jié)

在確認(rèn)了沒有公布任何保密信息后,  我發(fā)表了本文. 沒有太多技術(shù)含量,  主要是針對(duì)所在公司推廣jQuery的具體實(shí)施方法.

另外我一直想找一個(gè)成型的腳本框架用來組織管理各種js類庫和js文件. 這都需要在以后的工作中探索.
作者:張子秋
出處:http://www.cnblogs.com/zhangziqiu/

相關(guān)文章

  • jQuery EasyUI Accordion可伸縮面板組件使用詳解

    jQuery EasyUI Accordion可伸縮面板組件使用詳解

    這篇文章主要為大家詳細(xì)介紹了jQuery EasyUI Accordion可伸縮面板組件的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • jQuery實(shí)現(xiàn)移動(dòng)端懸浮拖動(dòng)效果

    jQuery實(shí)現(xiàn)移動(dòng)端懸浮拖動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)移動(dòng)端懸浮拖動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • JQuery 將元素顯示在屏幕的中央的代碼

    JQuery 將元素顯示在屏幕的中央的代碼

    在網(wǎng)站開發(fā)中我們經(jīng)常需要將對(duì)話框顯示在屏幕的中央。如果使用Javascript因?yàn)闉g覽器實(shí)現(xiàn)的差異,實(shí)現(xiàn)起來非常麻煩。但是JQuery可以很簡單實(shí)現(xiàn)的搞定這一切。
    2010-02-02
  • 10分鐘學(xué)會(huì)寫Jquery插件實(shí)例教程

    10分鐘學(xué)會(huì)寫Jquery插件實(shí)例教程

    這篇文章主要介紹了10分鐘學(xué)會(huì)寫Jquery插件,通過一個(gè)實(shí)例分兩步完成一個(gè)簡單的插件,非常實(shí)用,需要的朋友可以參考下
    2014-09-09
  • jQuery將所有被選中的checkbox某個(gè)屬性值連接成字符串的方法

    jQuery將所有被選中的checkbox某個(gè)屬性值連接成字符串的方法

    這篇文章主要介紹了jQuery將所有被選中的checkbox某個(gè)屬性值連接成字符串的方法,可實(shí)現(xiàn)將選中屬性值連接成字符串的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • 淺談JQuery+ajax+jsonp 跨域訪問

    淺談JQuery+ajax+jsonp 跨域訪問

    下面小編就為大家?guī)硪黄獪\談JQuery+ajax+jsonp 跨域訪問。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • 判斷jQuery是否加載完成,沒完成繼續(xù)判斷的解決方法

    判斷jQuery是否加載完成,沒完成繼續(xù)判斷的解決方法

    下面小編就為大家分享一篇判斷jQuery是否加載完成,如果沒完成繼續(xù)判斷的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 解決jQuery uploadify在非IE核心瀏覽器下無法上傳

    解決jQuery uploadify在非IE核心瀏覽器下無法上傳

    之前上傳了一個(gè)通過Flash實(shí)現(xiàn)多文件上傳,但是在IE正常運(yùn)行,F(xiàn)ireFox 不能正常上傳。經(jīng)過反復(fù)研究學(xué)習(xí),之所以firefox和360瀏覽器無法正常運(yùn)行,是因?yàn)镕ireFox、chrome、360瀏覽器等支持HTML5的瀏覽器不會(huì)再文件上傳時(shí)自動(dòng)帶入session信息和cookie,不共享session。
    2015-08-08
  • WordPress 照片lightbox效果的運(yùn)用幾點(diǎn)

    WordPress 照片lightbox效果的運(yùn)用幾點(diǎn)

    應(yīng)該大家都知曉lightbox這類燈箱效果了,它一般更多地被運(yùn)用在網(wǎng)站照片的顯示上。當(dāng)然還有更推廣的應(yīng)用,如facebox這種更漂亮全面的效果。
    2009-06-06
  • jquery.validate使用攻略 第五步 正則驗(yàn)證

    jquery.validate使用攻略 第五步 正則驗(yàn)證

    一些常用的驗(yàn)證腳本
    2010-07-07

最新評(píng)論

邓州市| 江安县| 西宁市| 浠水县| 尼木县| 普兰店市| 于田县| 罗平县| 获嘉县| 河曲县| 赤水市| 蛟河市| 九江县| 辛集市| 阳信县| 子洲县| 蚌埠市| 纳雍县| 太仆寺旗| 聂荣县| 黔西县| 陵水| 萍乡市| 光山县| 察雅县| 尼勒克县| 文昌市| 白玉县| 和静县| 津南区| 长武县| 宝鸡市| 宾川县| 安乡县| 双鸭山市| 苍山县| 信丰县| 寿宁县| 梁山县| 汝阳县| 买车|