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阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容