zoukankan      html  css  js  c++  java
  • DAY 40 前端学习

    一、jQuery
    jQuery 是一个 JavaScript 库。
    jQuery 极大地简化了 JavaScript 编程。
    jQuery 很容易学习。

    jQuery 库可以通过一行简单的标记被添加到网页中。
    jQuery 库 - 特性
    jQuery 是一个 JavaScript 函数库。

    jQuery 库包含以下特性:

    HTML 元素选取
    HTML 元素操作
    CSS 操作
    HTML 事件函数
    JavaScript 特效和动画
    HTML DOM 遍历和修改
    AJAX
    Utilities

    库的替代
    Google 和 Microsoft 对 jQuery 的支持都很好。

    如果您不愿意在自己的计算机上存放 jQuery 库,那么可以从 Google 或 Microsoft 加载 CDN jQuery 核心文件。

    使用 Google 的 CDN
    <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs
    /jquery/1.4.0/jquery.min.js"></script>
    </head>
    使用 Microsoft 的 CDN
    <head>
    <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery
    /jquery-1.4.min.js"></script>
    </head>

    提示:使用谷歌或微软的 jQuery,有一个很大的优势:

    许多用户在访问其他站点时,已经从谷歌或微软加载过 jQuery。所有结果是,当他们访问您的站点时,会从缓存中加载 jQuery,这样可以减少加载时间。同时,大多数 CDN 都可以确保当用户向其请求文件时,会从离用户最近的服务器上返回响应,这样也可以提高加载速度。

    二、jQuery 语法
    通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行“操作”(actions)。

    jQuery 语法实例
    $(this).hide()
    演示 jQuery hide() 函数,隐藏当前的 HTML 元素。
    $("#test").hide()
    演示 jQuery hide() 函数,隐藏 id="test" 的元素。
    $("p").hide()
    演示 jQuery hide() 函数,隐藏所有 <p> 元素。
    $(".test").hide()
    演示 jQuery hide() 函数,隐藏所有 class="test" 的元素。
    jQuery 语法
    jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。

    基础语法是:$(selector).action()

    美元符号定义 jQuery
    选择符(selector)“查询”和“查找” HTML 元素
    jQuery 的 action() 执行对元素的操作
    示例
    $(this).hide() - 隐藏当前元素

    $("p").hide() - 隐藏所有段落

    $(".test").hide() - 隐藏所有 class="test" 的所有元素

    $("#test").hide() - 隐藏所有 id="test" 的元素

    提示:jQuery 使用的语法是 XPath 与 CSS 选择器语法的组合。在本教程接下来的章节,您将学习到更多有关选择器的语法。

    文档就绪函数
    您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中:

    $(document).ready(function(){

    --- jQuery functions go here ----

    });
    这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。

    如果在文档没有完全加载之前就运行函数,操作可能失败。下面是两个具体的例子:

    试图隐藏一个不存在的元素
    获得未完全加载的图像的大小

    三、文档就绪函数
    您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中:

    $(document).ready(function(){

    --- jQuery functions go here ----

    });
    这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。

    四、jQuery 选择器
    选择器允许您对元素组或单个元素进行操作。
    jQuery 选择器
    在前面的章节中,我们展示了一些有关如何选取 HTML 元素的实例。

    关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素。

    jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择。

    选择器允许您对 HTML 元素组或单个元素进行操作。

    在 HTML DOM 术语中:

    选择器允许您对 DOM 元素组或单个 DOM 节点进行操作。

    jQuery 元素选择器
    jQuery 使用 CSS 选择器来选取 HTML 元素。

    $("p") 选取 <p> 元素。

    $("p.intro") 选取所有 class="intro" 的 <p> 元素。

    $("p#demo") 选取所有 id="demo" 的 <p> 元素。

    jQuery 属性选择器
    jQuery 使用 XPath 表达式来选择带有给定属性的元素。

    $("[href]") 选取所有带有 href 属性的元素。

    $("[href='#']") 选取所有带有 href 值等于 "#" 的元素。

    $("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。

    $("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。

    jQuery CSS 选择器
    jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性。

    下面的例子把所有 p 元素的背景颜色更改为红色:

    实例
    $("p").css("background-color","red");

    五、jQuery 事件
    jQuery 是为事件处理特别设计的。
    jQuery 事件函数
    jQuery 事件处理方法是 jQuery 中的核心函数。

    事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用。

    通常会把 jQuery 代码放到 <head>部分的事件处理方法中:

    实例
    <html>
    <head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    $("button").click(function(){
    $("p").hide();
    });
    });
    </script>
    </head>

    <body>
    <h2>This is a heading</h2>
    <p>This is a paragraph.</p>
    <p>This is another paragraph.</p>
    <button>Click me</button>
    </body>

    </html>

    在上面的例子中,当按钮的点击事件被触发时会调用一个函数:

    $("button").click(function() {..some code... } )
    该方法隐藏所有 <p> 元素:

    $("p").hide();
    单独文件中的函数
    如果您的网站包含许多页面,并且您希望您的 jQuery 函数易于维护,那么请把您的 jQuery 函数放到独立的 .js 文件中。

    当我们在教程中演示 jQuery 时,会将函数直接添加到 <head> 部分中。不过,把它们放到一个单独的文件中会更好,就像这样(通过 src 属性来引用文件):

    实例
    <head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="my_jquery_functions.js"></script>
    </head>
    jQuery 名称冲突
    jQuery 使用 $ 符号作为 jQuery 的简介方式。

    某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。

    jQuery 使用名为 noConflict() 的方法来解决该问题。

    var jq=jQuery.noConflict(),帮助您使用自己的名称(比如 jq)来代替 $ 符号。

    六、jQuery 效果 - 隐藏和显示
    隐藏、显示、切换,滑动,淡入淡出,以及动画,哇哦!
    jQuery hide() 和 show()
    通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素:

    $("#hide").click(function(){
    $("p").hide();
    });

    $("#show").click(function(){
    $("p").show();
    });

    语法:
    $(selector).hide(speed,callback);

    $(selector).show(speed,callback);

    可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。

    可选的 callback 参数是隐藏或显示完成后所执行的函数名称。

    下面的例子演示了带有 speed 参数的 hide() 方法:

    实例
    $("button").click(function(){
    $("p").hide(1000);
    });

    jQuery toggle()
    通过 jQuery,您可以使用 toggle() 方法来切换 hide() 和 show() 方法。

    显示被隐藏的元素,并隐藏已显示的元素:

    实例
    $("button").click(function(){
    $("p").toggle();
    });

    语法:
    $(selector).toggle(speed,callback);
    可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。

    可选的 callback 参数是 toggle() 方法完成后所执行的函数名称。

    七、jQuery 效果 - 淡入淡出
    jQuery Fading 方法
    通过 jQuery,您可以实现元素的淡入淡出效果。

    jQuery 拥有下面四种 fade 方法:

    fadeIn()
    fadeOut()
    fadeToggle()
    fadeTo()

    jQuery fadeIn() 方法
    jQuery fadeIn() 用于淡入已隐藏的元素。

    语法:
    $(selector).fadeIn(speed,callback);
    可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

    可选的 callback 参数是 fading 完成后所执行的函数名称。

    下面的例子演示了带有不同参数的 fadeIn() 方法:

    实例
    $("button").click(function(){
    $("#div1").fadeIn();
    $("#div2").fadeIn("slow");
    $("#div3").fadeIn(3000);
    });

    jQuery fadeOut() 方法
    jQuery fadeOut() 方法用于淡出可见元素。

    语法:
    $(selector).fadeOut(speed,callback);
    可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

    可选的 callback 参数是 fading 完成后所执行的函数名称。

    下面的例子演示了带有不同参数的 fadeOut() 方法:

    实例
    $("button").click(function(){
    $("#div1").fadeOut();
    $("#div2").fadeOut("slow");
    $("#div3").fadeOut(3000);
    });

    jQuery fadeToggle() 方法
    jQuery fadeToggle() 方法可以在 fadeIn() 与 fadeOut() 方法之间进行切换。

    如果元素已淡出,则 fadeToggle() 会向元素添加淡入效果。

    如果元素已淡入,则 fadeToggle() 会向元素添加淡出效果。

    语法:
    $(selector).fadeToggle(speed,callback);
    可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

    可选的 callback 参数是 fading 完成后所执行的函数名称。

    下面的例子演示了带有不同参数的 fadeToggle() 方法:

    实例
    $("button").click(function(){
    $("#div1").fadeToggle();
    $("#div2").fadeToggle("slow");
    $("#div3").fadeToggle(3000);
    });

    jQuery fadeTo() 方法
    jQuery fadeTo() 方法允许渐变为给定的不透明度(值介于 0 与 1 之间)。

    语法:
    $(selector).fadeTo(speed,opacity,callback);
    必需的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

    fadeTo() 方法中必需的 opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。

    可选的 callback 参数是该函数完成后所执行的函数名称。

    下面的例子演示了带有不同参数的 fadeTo() 方法:

    实例
    $("button").click(function(){
    $("#div1").fadeTo("slow",0.15);
    $("#div2").fadeTo("slow",0.4);
    $("#div3").fadeTo("slow",0.7);
    });

    jQuery 滑动方法
    通过 jQuery,您可以在元素上创建滑动效果。

    jQuery 拥有以下滑动方法:

    slideDown()
    slideUp()
    slideToggle()

    jQuery slideDown() 方法
    jQuery slideDown() 方法用于向下滑动元素。

    语法:
    $(selector).slideDown(speed,callback);
    可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

    可选的 callback 参数是滑动完成后所执行的函数名称。

    下面的例子演示了 slideDown() 方法:

    实例
    $("#flip").click(function(){
    $("#panel").slideDown();
    });

    jQuery slideUp() 方法
    jQuery slideUp() 方法用于向上滑动元素。

    语法:
    $(selector).slideUp(speed,callback);
    可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

    可选的 callback 参数是滑动完成后所执行的函数名称。

    下面的例子演示了 slideUp() 方法:

    实例
    $("#flip").click(function(){
    $("#panel").slideUp();
    });

    jQuery slideToggle() 方法
    jQuery slideToggle() 方法可以在 slideDown() 与 slideUp() 方法之间进行切换。

    如果元素向下滑动,则 slideToggle() 可向上滑动它们。

    如果元素向上滑动,则 slideToggle() 可向下滑动它们。

    $(selector).slideToggle(speed,callback);
    可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

    可选的 callback 参数是滑动完成后所执行的函数名称。

    下面的例子演示了 slideToggle() 方法:

    实例
    $("#flip").click(function(){
    $("#panel").slideToggle();
    });

    jQuery 效果 - 动画
    jQuery 动画 - animate() 方法
    jQuery animate() 方法用于创建自定义动画。

    语法:
    $(selector).animate({params},speed,callback);
    必需的 params 参数定义形成动画的 CSS 属性。

    可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

    可选的 callback 参数是动画完成后所执行的函数名称。

    下面的例子演示 animate() 方法的简单应用;它把 <div> 元素移动到左边,直到 left 属性等于 250 像素为止:

    实例
    $("button").click(function(){
    $("div").animate({left:'250px'});
    });

    提示:默认地,所有 HTML 元素都有一个静态位置,且无法移动。

    如需对位置进行操作,要记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute!

    jQuery animate() - 操作多个属性
    请注意,生成动画的过程中可同时使用多个属性:

    实例
    $("button").click(function(){
    $("div").animate({
    left:'250px',
    opacity:'0.5',
    height:'150px',
    '150px'
    });
    });

    提示:可以用 animate() 方法来操作所有 CSS 属性吗?

    是的,几乎可以!不过,需要记住一件重要的事情:当使用 animate() 时,必须使用 Camel 标记法书写所有的属性名,比如,必须使用 paddingLeft 而不是 padding-left,使用 marginRight 而不是 margin-right,等等。

    同时,色彩动画并不包含在核心 jQuery 库中。

    如果需要生成颜色动画,您需要从 jQuery.com 下载 Color Animations 插件。

    jQuery animate() - 使用相对值
    也可以定义相对值(该值相对于元素的当前值)。需要在值的前面加上 += 或 -=:

    实例
    $("button").click(function(){
    $("div").animate({
    left:'250px',
    height:'+=150px',
    '+=150px'
    });
    });

    jQuery animate() - 使用预定义的值
    您甚至可以把属性的动画值设置为 "show"、"hide" 或 "toggle":

    实例
    $("button").click(function(){
    $("div").animate({
    height:'toggle'
    });
    });

    jQuery animate() - 使用队列功能
    默认地,jQuery 提供针对动画的队列功能。

    这意味着如果您在彼此之后编写多个 animate() 调用,jQuery 会创建包含这些方法调用的“内部”队列。然后逐一运行这些 animate 调用。

    实例 1
    隐藏,如果您希望在彼此之后执行不同的动画,那么我们要利用队列功能:

    $("button").click(function(){
    var div=$("div");
    div.animate({height:'300px',opacity:'0.4'},"slow");
    div.animate({'300px',opacity:'0.8'},"slow");
    div.animate({height:'100px',opacity:'0.4'},"slow");
    div.animate({'100px',opacity:'0.8'},"slow");
    });

    实例 2
    下面的例子把 <div> 元素移动到右边,然后增加文本的字号:

    $("button").click(function(){
    var div=$("div");
    div.animate({left:'100px'},"slow");
    div.animate({fontSize:'3em'},"slow");
    });

    jQuery stop() 方法
    jQuery stop() 方法用于停止动画或效果,在它们完成之前。

    stop() 方法适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。

    语法
    $(selector).stop(stopAll,goToEnd);
    可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。

    可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。

    因此,默认地,stop() 会清除在被选元素上指定的当前动画。

    下面的例子演示 stop() 方法,不带参数:
    实例
    $("#stop").click(function(){
    $("#panel").stop();
    });

    jQuery Callback 函数
    Callback 函数在当前动画 100% 完成之后执行。

    jQuery 动画的问题
    许多 jQuery 函数涉及动画。这些函数也许会将 speed 或 duration 作为可选参数。

    例子:$("p").hide("slow")

    speed 或 duration 参数可以设置许多不同的值,比如 "slow", "fast", "normal" 或毫秒。

    实例
    $("button").click(function(){
    $("p").hide(1000);
    });

    由于 JavaScript 语句(指令)是逐一执行的 - 按照次序,动画之后的语句可能会产生错误或页面冲突,因为动画还没有完成。

    为了避免这个情况,您可以以参数的形式添加 Callback 函数。

    jQuery Callback 函数
    当动画 100% 完成后,即调用 Callback 函数。

    典型的语法:
    $(selector).hide(speed,callback)
    callback 参数是一个在 hide 操作完成后被执行的函数。

    错误(没有 callback)
    $("p").hide(1000);
    alert("The paragraph is now hidden");

    正确(有 callback)
    $("p").hide(1000,function(){
    alert("The paragraph is now hidden");
    });
    结论:如果您希望在一个涉及动画的函数之后来执行语句,请使用 callback 函数。

    jQuery - Chaining
    通过 jQuery,您可以把动作/方法链接起来。

    Chaining 允许我们在一条语句中允许多个 jQuery 方法(在相同的元素上)。

    jQuery 方法链接
    直到现在,我们都是一次写一条 jQuery 语句(一条接着另一条)。

    不过,有一种名为链接(chaining)的技术,允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条。

    提示:这样的话,浏览器就不必多次查找相同的元素。

    如需链接一个动作,您只需简单地把该动作追加到之前的动作上。

    例子 1
    下面的例子把 css(), slideUp(), and slideDown() 链接在一起。"p1" 元素首先会变为红色,然后向上滑动,然后向下滑动:

    $("#p1").css("color","red").slideUp(2000).slideDown(2000);

    如果需要,我们也可以添加多个方法调用。

    提示:当进行链接时,代码行会变得很差。不过,jQuery 在语法上不是很严格;您可以按照希望的格式来写,包含折行和缩进。

    例子 2
    这样写也可以运行:

    $("#p1").css("color","red")
    .slideUp(2000)
    .slideDown(2000);

    jQuery 会抛掉多余的空格,并按照一行长代码来执行上面的代码行。

    八、Bootstrap
    1.下载

    2.使用 BootCDN 提供的免费 CDN 加速服务(同时支持 http 和 https 协议)

    3.通过 Bower 进行安装
    还可以通过 Bower 安装并管理 Bootstrap 的 Less、CSS、JavaScript 和字体文件。

    4.通过 npm 进行安装

    5.全局 CSS 样式
    设置全局 CSS 样式;基本的 HTML 元素均可以通过 class 设置样式并得到增强效果;还有先进的栅格系统。

    6.组件
    无数可复用的组件,包括字体图标、下拉菜单、导航、警告框、弹出框等更多功能。

  • 相关阅读:
    现代软件工程 第一章 概论 第4题——邓琨
    现代软件工程 第一章 概论 第9题——邓琨
    现代软件工程 第一章 概论 第7题——张星星
    现代软件工程 第一章 概论 第5题——韩婧
    hdu 5821 Ball 贪心(多校)
    hdu 1074 Doing Homework 状压dp
    hdu 1074 Doing Homework 状压dp
    hdu 1069 Monkey and Banana LIS变形
    最长上升子序列的初步学习
    hdu 1024 Max Sum Plus Plus(m段最大子列和)
  • 原文地址:https://www.cnblogs.com/DEJAVU888/p/14519771.html
Copyright © 2011-2022 走看看