JQuery&bootstrap

內容回顧

  1. jQuery的書寫步驟

    • 引入JQ的包(xxx.js)
    • 書寫JQ代碼
      $(function(){
          JQ代碼
      })
      
  2. JS與JQ的相互轉換

    • 將JS轉換成JQ對象
      $(js對象)
    • 將JQ對象轉換成JS對象
      JQ對象.get(0)/JQ對象[0]
  3. ==JQ選擇器==

    • ==基本選擇器==
      • ID選擇器 $(“#ID”)
      • CLASS選擇器 $(“.class”)
      • 元素選擇器 $(“元素名稱”)
      • 通配符選擇器 $(“*”)
      • 并列選擇器 $(“selector1,selector2……”)
    • ==層級選擇器==
      • 兄弟選擇器 $(“selector + selector”) 選擇同輩的下一個元素
      • 選擇同輩中往后所有的元素:$(“selector ~ selector”)
      • 子元素選擇器:$(父選擇器 > 子選擇器)
      • 后代選擇器:$(父選擇器 子選擇器)
    • 基本過濾選擇器
      • :first 選擇第一個
      • :last 選擇最后一個
      • :eq(index) 選擇下標為index的元素
      • :odd/:even 注意:下標從0開始
    • 屬性選擇器
      $(“input[屬性名=’屬性值’]”)
    • 表單選擇器(了解)
      :input
      :text/:password/:radio/:checkbox……
  4. JQ對文檔的操作(DOM的crud)
    JQ.append() 追加元素
    JQ.appendTo(父元素) 將元素追加到父元素
    JQ.remove() 刪除元素

  5. 元素循環遍歷

    // 方式一
    $.each(數組,function(i,n){
        i表示下標
        n表示數組元素
    });
    // 方式二
    $(數組).each(function(i,n){
        i表示下標
        n表示數組元素
    });
    

今日重點:

  1. Jquery查找和事件處理
  2. Bootstrap引入(4個文件,1個設置)
  3. Bootstrap的容器(.container)
  4. Bootstrap的柵格系統

01- 案例五:使用JQ完成下拉列表左右選擇:需求和頁面設計

下拉列表顯示多個選項:<select multiple="multiple">

02- 案例五:使用JQ完成下拉列表左右選擇:傳統方式代碼實現

  • 綁定監聽事件 onclick
    document.getElementById("addRight").onclick = function(){}
  • 獲得左側選中的選項并添加到右側
for(var i = selectLeft.options.length - 1;i>=0;i--){
    // 判斷該元素是否被選中
    if(selectLeft.options[i].selected == true){
        //添加到右側
        document.getElementById("selectRight").appendChild(selectLeft.options[i]);
    }
}
  • 全部選中則for循環當中不需要判斷是否選中
// 遍歷左側列表中的所有的option元素.
for(var i = selectLeft.options.length - 1;i>=0;i--){
    document.getElementById("selectRight").appendChild(selectLeft.options[i]);
}

03- 案例五:使用JQ完成下拉列表左右選擇:JQ方式實現

  • JQ中強大的選擇器
// 添加左側選中的元素到右側
$("#addRight").click(function(){
    // 獲得左側被選中的option元素:
    $("#selectLeft option:selected").appendTo("#selectRight");
});
  • 應用到的選擇器:
    ID選擇器:#selectLeft
    后代選擇器:#selectLeft option
    表單對象屬性選擇器::selected選擇被選中的標簽
  • 應用到的文檔操作:JQ對象.appendTo(“”),追加到某個標簽當中
$("#selectRight").dblclick(function(){
        //選中當前標簽中被選中的option標簽
        $("option:selected",this).appendTo("#selectLeft");
});

04- 案例五:使用JQ完成下拉列表左右選擇:JQ的事件切換

$(document).ready(function(){….})功能類似與$(function(){…..});

  • 事件切換函數
    toggle() 點擊時切換函數(1.9版本 .toggle() 方法刪除)
    hover() 鼠標懸停的切換

05- 案例一:使用JQ完成表單校驗:需求和JQ的查找及事件處理

  • JQ查找
    find();
    parent();
  • JQ事件處理
    trigger 這個函數也會導致瀏覽器同名的默認行為的執行
    triggerHandler
    • 第一,他不會觸發瀏覽器默認事件。
    • 第二,只觸發jQuery自定義的事件處理函數。

06- 案例一:使用JQ完成表單校驗:步驟分析

  1. 給所有的輸入框添加blur事件
  2. 根據不同輸入校驗不同內容
  3. 內容錯誤不能提交

07- 案例一:使用JQ完成表單校驗:準備工作

JQ函數:
find(選擇器) 查找匹配的元素
parent() 獲得父元素
is(選擇器) 判斷是否為某個元素
trigger()/triggerHandler() 事件處理

08- 案例一:使用JQ完成表單校驗:代碼實現

  1. 步驟一:為必填項添加一個 *.
    $("form input.required").each(function(){}
  2. 步驟二:獲得所有的輸入項,為輸入項添加一個blur事件.
    $("form input").blur(function(){}
  3. 確定點擊的輸入項是誰?
    if($(this).is("#username")){}
  4. 為表單添加一個submit事件.
$("form").submit(function(){
        // 執行表單中blur事件.
        $("form :input").trigger("blur");
        // 獲得錯誤信息的長度.
        var errorLength = $(".onError").length;
        if(errorLength > 0){
            return false;
        }
    });

09- 案例二:使用BootStrap實現一個響應式頁面:需求及BootStrap的概述

  1. 什么是BootStrap
    前端框架,基于HTML,CSS,JavaScript實現
  2. BootStrap作用
    設計一套頁面能夠通用在不同的設備上,在手機,pad上,電腦上都可以瀏覽這個網頁,而不影響正常顯示.(響應式頁面)
  3. 什么是響應式?
    設計一個頁面,能夠適應在不同的尺寸的設備上還能夠顯示

10- 案例二:使用BootStrap實現一個響應式頁面:BootStrap的準備工作

  1. 導入BootStrap目錄(3個)
    CSS目錄
    fonts目錄
    js目錄
  2. HTML中引入BootStrap的樣式與JS代碼(4個文件,1個設置)
    <!—應用于移動的:根據設備寬度,調整顯示縮放比例initial-scale取值1-5 -->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    視口
    <!-- 引入BootStrap的CSS -->
    <link rel="stylesheet" href="../css/bootstrap.min.css" />
    <link rel="stylesheet" href="../css/bootstrap-theme.min.css" />
    <!-- 引入JS-->
    <script type="text/javascript" src="../js/jquery-1.11.3.min.js" ></script>
    <script type="text/javascript" src="../js/bootstrap.min.js" ></script>
    

11- 案例二:使用BootStrap實現一個響應式頁面:BootStrap的全局CSS的容器和柵格

  1. 布局容器
    class="container"
    class="container-fluid"
  2. 柵格系統
    Bootstrap 提供了一套響應式、移動設備優先的流式柵格系統
    總共分為12列
    使用.row樣式定義柵格的行.
    定義列:.col-lg-n .col-md-n .col-sm-n .col-xs-n
  3. 柵格流程:
    1. 定義容器 .container
    2. 定義行 .row
    3. 定義模塊 (計算每一個模塊占用的列數,總共12列)
    4. 實現響應式布局,設置
      定義列:.col-lg-n 超大屏幕 .col-md-n 中型
      .col-sm-n 小型屏幕(平板) .col-xs-n 超小型(手機)

12- 案例二:使用BootStrap實現一個響應式頁面:BootStrap的柵格的案例

今日總結:

  1. ==JQ的事件切換==
    JQ.hover(function1,function2) 鼠標移入移出執行不同的操作
    了解toggle(function1,function2) 點擊隱藏和顯示 1.9版本后刪除

  2. ==JQ的查找和事件處理==
    jQuery查找
    JQ.find(選擇器) 選擇匹配的元素
    JQ.parent() 獲得元素的父元素
    JQ.is(選擇器) 表示判斷元素是否相等
    jQuery事件處理
    on("click",fun()) 綁定事件到jQuery對象中的元素
    bind("事件",fun()) 可綁定多個事件到jQuery對象
    trigger("事件",fun()) 綁定事件會觸發瀏覽器默認事件
    triggerHandler("事件",fun()) 綁定事件不會觸發瀏覽器默認事件

  3. BootStrap 概述
    是一個前端的框架,能夠實現響應式頁面設計

  4. 引入BootStrap (4個文件,1個設置)
    兩個CSS,兩個JS
    <meta name="viewport" content="width=device-width, initial-scale=1">
    bootstrap.min.css
    bootstrap-theme.min.css
    jquery-1.11.3.min.js
    bootstrap.min.js

  5. 全局CSS樣式
    通過設置全局 CSS 樣式;基本的 HTML 元素均可以通過 class 設置樣式并得到增強效果;還有先進的柵格系統。

    • 柵格系統
    • 排版
    • 表格
    • 表單
    • 按鈕
    • 圖片
    • ...
  6. 實現柵格系統布局

    • 定義容器<div class=”container”>
    • 在容器中實現行<div class=”row” >
    • 在每一行中劃分列 總共分為12列
      col-lg-n 大分辨率
      col-md-n 中型分辨率(PC)
      col-sm-n 小型分辨率(平板)
      col-xs-n 超小型(手機)

JS與jQuery總結

  1. JS與JQ程序的入口
    一般JS是通過事件觸發函數/window.onload()

    $(function(){
    })
    

    事件總結:
    onload 頁面加載
    onclick 點擊
    ondblclick 雙擊
    onsubmit 表單提交 ,接受返回值
    onchange 下拉列表改變
    onmouseover 鼠標移入
    onmouseout 鼠標移出
    onmousemove 鼠標移動
    onfocus 獲得焦點
    onblur 失去焦點

  2. 操作CSS樣式
    JQ:JQ.css(,)/JQ.addClass(“”)/JQ.removeClass()
    JS: JS.style.樣式屬性 = “”;

  3. 操作標簽的內容
    JQ:JQ.html(“”)
    JS:JS.innerHTML = “”;

  4. 操作標簽的屬性
    JQ:JQ.prop(“屬性名稱”,“屬性值”);
    JS:JS.屬性名 = 屬性值

  5. 操作DOM(CRUD)
    查找元素
    JQ:選擇器(基本選擇器5個,層級選擇器4,屬性選擇器,內容過濾選擇器)
    JS:document.getElementById()/document.getElementsByName()/….byTagName()

    創建元素
    JQ:JQ.append(“標簽元素”)
    JS:document.createElemant(“”)/document.createTextNode(“”)

    刪除元素
    JQ:選擇器.remove() 刪除選中的元素
    JS:父元素.removeChild(子元素)

    添加元素
    JQ:append()/appendTo()/insertBefore()
    JS: appendChild(子元素)

  6. 事件綁定
    JS:
    一種在標簽中定義事件監聽屬性
    JS.onxx = function(){}
    JQ:
    JQ.事件 $(“div”).click(function(){});
    JQ.bind(事件名稱,function(){})

  7. 循環遍歷
    JS:for循環
    JQ:$.each(數組,function…)/$(數組).each(function…..)

  8. JS與JQ的切換
    js轉換成JQ:$(JS對象)
    JQ轉換成JS:$(“”).get(0)/$(“”)[0]

  9. 顯示與隱藏
    JS: 直接操作CSS .style.display = “none”/”block”
    JQ: 使用函數 show()/hide() slideDown()/sideUp() fadeIn()/fadeOut()

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,238評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,430評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,134評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,893評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,653評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,136評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,212評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,372評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,888評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,738評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,939評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,482評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,179評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,588評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,829評論 1 283
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,610評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,916評論 2 372

推薦閱讀更多精彩內容