JQuery&bootstrap

內(nèi)容回顧

  1. jQuery的書寫步驟

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

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

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

  5. 元素循環(huán)遍歷

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

今日重點:

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

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

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

02- 案例五:使用JQ完成下拉列表左右選擇:傳統(tǒng)方式代碼實現(xiàn)

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

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

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

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

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

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

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

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

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

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

07- 案例一:使用JQ完成表單校驗:準(zhǔn)備工作

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

08- 案例一:使用JQ完成表單校驗:代碼實現(xiàn)

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

09- 案例二:使用BootStrap實現(xiàn)一個響應(yīng)式頁面:需求及BootStrap的概述

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

10- 案例二:使用BootStrap實現(xiàn)一個響應(yīng)式頁面:BootStrap的準(zhǔn)備工作

  1. 導(dǎo)入BootStrap目錄(3個)
    CSS目錄
    fonts目錄
    js目錄
  2. HTML中引入BootStrap的樣式與JS代碼(4個文件,1個設(shè)置)
    <!—應(yīng)用于移動的:根據(jù)設(shè)備寬度,調(diào)整顯示縮放比例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實現(xiàn)一個響應(yīng)式頁面:BootStrap的全局CSS的容器和柵格

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

12- 案例二:使用BootStrap實現(xiàn)一個響應(yīng)式頁面:BootStrap的柵格的案例

今日總結(jié):

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

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

  3. BootStrap 概述
    是一個前端的框架,能夠?qū)崿F(xiàn)響應(yīng)式頁面設(shè)計

  4. 引入BootStrap (4個文件,1個設(shè)置)
    兩個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樣式
    通過設(shè)置全局 CSS 樣式;基本的 HTML 元素均可以通過 class 設(shè)置樣式并得到增強效果;還有先進的柵格系統(tǒng)。

    • 柵格系統(tǒng)
    • 排版
    • 表格
    • 表單
    • 按鈕
    • 圖片
    • ...
  6. 實現(xiàn)柵格系統(tǒng)布局

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

JS與jQuery總結(jié)

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

    $(function(){
    })
    

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

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

  3. 操作標(biāo)簽的內(nèi)容
    JQ:JQ.html(“”)
    JS:JS.innerHTML = “”;

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

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

    創(chuàng)建元素
    JQ:JQ.append(“標(biāo)簽元素”)
    JS:document.createElemant(“”)/document.createTextNode(“”)

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

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

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

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

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

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

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

推薦閱讀更多精彩內(nèi)容