zoukankan      html  css  js  c++  java
  • JS+JQUERY

    HTML DOM中的DOM事件类型响应网站,各类响应事件。

    http://www.w3school.com.cn/jsref/dom_obj_event.asp //作为一个代码开发者,怎么可以少的了手册呢

    在HTML页面中添加新的元素方法:如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素。

    代码如下:

     1 <!DOCTYPE html>
     2 <html>
     3 <body>
     4 
     5 <div id="div1">
     6 <p id="p1">这是一个段落。</p>
     7 <p id="p2">这是另一个段落。</p>
     8 </div>
     9 
    10 <script>
    11 var para=document.createElement("p");
    12 var node=document.createTextNode("这是新段落。");
    13 para.appendChild(node);
    14 
    15 var element=document.getElementById("div1");
    16 element.appendChild(para);
    17 </script>
    18 
    19 </body>
    20 </html>

    代码讲解:

    例子解释:

    这段代码创建新的 <p> 元素:

    var para=document.createElement("p");

    如需向 <p> 元素添加文本,您必须首先创建文本节点。这段代码创建了一个文本节点:

    var node=document.createTextNode("这是新段落。");

    然后您必须向 <p> 元素追加这个文本节点:

    para.appendChild(node);

    最后您必须向一个已有的元素追加这个新元素。

    这段代码找到一个已有的元素:

    var element=document.getElementById("div1");

    这段代码向这个已有的元素追加新元素:

    element.appendChild(para);

    HTML DOM 教程

    在我们的 JavaScript 教程的 HTML DOM 部分,您已经学到了:

    • 如何改变 HTML 元素的内容 (innerHTML)
    • 如何改变 HTML 元素的样式 (CSS)
    • 如何对 HTML DOM 事件作出反应
    • 如何添加或删除 HTML 元素

    实例

    循环遍历对象的属性:

    1 var person={fname:"Bill",lname:"Gates",age:56};
    2 
    3 for (x in person)
    4   {
    5   txt=txt + person[x];
    6   }

    数字属性和方法

    属性:

    • MAX VALUE
    • MIN VALUE
    • NEGATIVE INFINITIVE
    • POSITIVE INFINITIVE
    • NaN
    • prototype
    • constructor

    方法:

    • toExponential()
    • toFixed()
    • toPrecision()
    • toString()
    • valueOf()

    Number 对象

    Number 对象是原始数值的包装对象。

    创建 Number 对象的语法:

    var myNum=new Number(value);
    var myNum=Number(value);
    

    参数

    参数 value 是要创建的 Number 对象的数值,或是要转换成数字的值。

    返回值

    当 Number() 和运算符 new 一起作为构造函数使用时,它返回一个新创建的 Number 对象。如果不用 new 运算符,把 Number() 作为一个函数来调用,它将把自己的参数转换成一个原始的数值,并且返回这个值(如果转换失败,则返回 NaN)。

    Number 对象属性

    属性描述
    constructor 返回对创建此对象的 Number 函数的引用。
    MAX_VALUE 可表示的最大的数。
    MIN_VALUE 可表示的最小的数。
    NaN 非数字值。
    NEGATIVE_INFINITY 负无穷大,溢出时返回该值。
    POSITIVE_INFINITY 正无穷大,溢出时返回该值。
    prototype 使您有能力向对象添加属性和方法。

    Number 对象方法

    方法描述
    toString 把数字转换为字符串,使用指定的基数。
    toLocaleString 把数字转换为字符串,使用本地数字格式顺序。
    toFixed 把数字转换为字符串,结果的小数点后有指定位数的数字。
    toExponential 把对象的值转换为指数计数法。
    toPrecision 把数字格式化为指定的长度。
    valueOf 返回一个 Number 对象的基本数字值。


    JS中string即字符串类型的对象所具有的对象属性与方法:
    indexOf() 方法如何使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置。
    match() 方法如何使用 match() 来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。
    如何替换字符串中的字符 - replace()如何使用 replace() 方法在字符串中用某些字符替换另一些字符。

    Boolean 对象

    您可以将 Boolean 对象理解为一个产生逻辑值的对象包装器。

    Boolean(逻辑)对象用于将非逻辑值转换为逻辑值(true 或者 false)。

    创建 Boolean 对象

    使用关键词 new 来定义 Boolean 对象。下面的代码定义了一个名为 myBoolean 的逻辑对象:

    var myBoolean=new Boolean()
    注释:如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)!

    Math 对象

    Math(算数)对象的作用是:执行普通的算数任务。

    Math 对象提供多种算数值类型和函数。无需在使用这个对象之前对它进行定义。

    算数值

    JavaScript 提供 8 种可被 Math 对象访问的算数值:

    • 常数
    • 圆周率
    • 2 的平方根
    • 1/2 的平方根
    • 2 的自然对数
    • 10 的自然对数
    • 以 2 为底的 e 的对数
    • 以 10 为底的 e 的对数

    这是在 Javascript 中使用这些值的方法:(与上面的算数值一一对应)

    • Math.E
    • Math.PI
    • Math.SQRT2
    • Math.SQRT1_2
    • Math.LN2
    • Math.LN10
    • Math.LOG2E
    • Math.LOG10E
    • RegExp 对象的方法

      RegExp 对象有 3 个方法:test()、exec() 以及 compile()。

      test()

      test() 方法检索字符串中的指定值。返回值是 true 或 false。

      例子:

      var patt1=new RegExp("e");
      
      document.write(patt1.test("The best things in life are free")); 
      

      由于该字符串中存在字母 "e",以上代码的输出将是:

      true

      exec()

      exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

      例子 1:

      var patt1=new RegExp("e");
      
      document.write(patt1.exec("The best things in life are free")); 
      

      由于该字符串中存在字母 "e",以上代码的输出将是:

      e

      compile()

      compile() 方法用于改变 RegExp。

      compile() 既可以改变检索模式,也可以添加或删除第二个参数。

      例子:

      var patt1=new RegExp("e");
      
      document.write(patt1.test("The best things in life are free"));
      
      patt1.compile("d");
      
      document.write(patt1.test("The best things in life are free"));

      由于字符串中存在 "e",而没有 "d",以上代码的输出是:

      true false

    Window 对象

    所有浏览器都支持 window 对象。它表示浏览器窗口。

    所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。

    全局变量是 window 对象的属性。

    全局函数是 window 对象的方法。

    甚至 HTML DOM 的 document 也是 window 对象的属性之一:

    其他 Window 方法

    一些其他方法:

    • window.open() - 打开新窗口
    • window.close() - 关闭当前窗口
    • window.moveTo() - 移动当前窗口
    • window.resizeTo() - 调整当前窗口的尺寸

    window.screen 对象包含有关用户屏幕的信息。

    Window Screen

    window.screen 对象在编写时可以不使用 window 这个前缀。

    一些属性:

    • screen.availWidth - 可用的屏幕宽度
    • screen.availHeight - 可用的屏幕高度

    Window Screen 可用宽度

    screen.availWidth 属性返回访问者屏幕的宽度,以像素计,减去界面特性,比如窗口任务栏。

    window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。

    Window Location

    window.location 对象在编写时可不使用 window 这个前缀。

    一些例子:

    • location.hostname 返回 web 主机的域名
    • location.pathname 返回当前页面的路径和文件名
    • location.port 返回 web 主机的端口 (80 或 443)
    • location.protocol 返回所使用的 web 协议(http:// 或 https://)
    • window.history 对象包含浏览器的历史。
    • Window History

      window.history 对象在编写时可不使用 window 这个前缀。

      为了保护用户隐私,对 JavaScript 访问该对象的方法做出了限制。

      一些方法:

      • history.back() - 与在浏览器点击后退按钮相同
      • history.forward() - 与在浏览器中点击按钮向前相同

      警告框

      警告框经常用于确保用户可以得到某些信息。

      当警告框出现后,用户需要点击确定按钮才能继续进行操作。

      语法:

      alert("文本")

      确认框

      确认框用于使用户可以验证或者接受某些信息。

      当确认框出现后,用户需要点击确定或者取消按钮才能继续进行操作。

      如果用户点击确认,那么返回值为 true。如果用户点击取消,那么返回值为 false。

      语法:

      confirm("文本")

      提示框

      提示框经常用于提示用户在进入页面前输入某个值。

      当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。

      如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。

      语法:

      prompt("文本","默认值")

      JavaScript 计时事件

      通过使用 JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。

      在 JavaScritp 中使用计时事件是很容易的,两个关键方法是:

      setTimeout()
      未来的某时执行代码
      clearTimeout()
      取消setTimeout()

      setTimeout()

      语法

      var t=setTimeout("javascript语句",毫秒)

      setTimeout() 方法会返回某个值。在上面的语句中,值被储存在名为 t 的变量中。假如你希望取消这个 setTimeout(),你可以使用这个变量名来指定它。

      setTimeout() 的第一个参数是含有 JavaScript 语句的字符串。这个语句可能诸如 "alert('5 seconds!')",或者对函数的调用,诸如 alertMsg()"。

      第二个参数指示从当前起多少毫秒后执行第一个参数。

      提示:1000 毫秒等于一秒。

      clearTimeout()

      语法

      clearTimeout(setTimeout_variable)

      JavaScript 框架(库)

      JavaScript 高级程序设计(特别是对浏览器差异的复杂处理),通常很困难也很耗时。

      为了应对这些调整,许多的 JavaScript (helper) 库应运而生。

      这些 JavaScript 库常被称为 JavaScript 框架。

      在本教程中,我们将了解到一些广受欢迎的 JavaScript 框架:

      • jQuery
      • Prototype
      • MooTools

      所有这些框架都提供针对常见 JavaScript 任务的函数,包括动画、DOM 操作以及 Ajax 处理。

      在本教程中,您将学习到如何开始使用它们,来使得 JavaScript 编程更容易、更安全且更有乐趣。

      jQuery

      jQuery 是目前最受欢迎的 JavaScript 框架。

      它使用 CSS 选择器来访问和操作网页上的 HTML 元素(DOM 对象)。

      jQuery 同时提供 companion UI(用户界面)和插件。

      许多大公司在网站上使用 jQuery:

      • Google
      • Microsoft
      • IBM
      • Netflix
      • 引用 jQuery:

        1 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
        2 </script>

      Prototype

      Prototype 是一种库,提供用于执行常见 web 任务的简单 API。

      API 是应用程序编程接口(Application Programming Interface)的缩写。它是包含属性和方法的库,用于操作 HTML DOM。

      Prototype 通过提供类和继承,实现了对 JavaScript 的增强。

      MooTools

      MooTools 也是一个框架,提供了可使常见的 JavaScript 编程更为简单的 API。

      MooTools 也含有一些轻量级的效果和动画函数。

      W3school 提供完整的 jQuery 参考手册以及大量的在线实例。

      jQuery 参考手册

      在 W3School,您将找到包含所有 jQuery 对象和函数的完整参考手册:

      链接:http://www.w3school.com.cn/jquery/jquery_reference.asp

      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选择器实例

      语法描述
      $(this) 当前 HTML 元素
      $("p") 所有 <p> 元素
      $("p.intro") 所有 class="intro" 的 <p> 元素
      $(".intro") 所有 class="intro" 的元素
      $("#intro") id="intro" 的元素
      $("ul li:first") 每个 <ul> 的第一个 <li> 元素
      $("[href$='.jpg']") 所有带有以 ".jpg" 结尾的属性值的 href 属性
      $("div#intro .head") id="intro" 的 <div> 元素中的所有 class="head" 的元素

      JQUERY中的属性选择方案中一般都会用$("")来选取标签或者选取某个标签或者元素。

      jQuery 是为事件处理特别设计的。

      jQuery 事件函数

      jQuery 事件处理方法是 jQuery 中的核心函数。

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

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

      语法:

      $("button").click(function() {..some code... } )
      通过事件触发函数为核心的JQUERY来进行的动态网页。
      语法简介:点击那个按钮或时间函数,会在哪一个标签或元素处发生什么动画或动作。
       

      jQuery 名称冲突

      jQuery 使用 $ 符号作为 jQuery 的简介方式。

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

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

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

      结论

      由于 jQuery 是为处理 HTML 事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护:

      • 把所有 jQuery 代码置于事件处理函数中
      • 把所有事件处理函数置于文档就绪事件处理器中
      • 把 jQuery 代码置于单独的 .js 文件中
      • 如果存在名称冲突,则重命名 jQuery 库

    Query 事件

    下面是 jQuery 中事件常用方法的一些例子:

    Event 函数绑定函数至
    $(document).ready(function) 将函数绑定到文档的就绪事件(当文档完成加载时)
    $(selector).click(function) 触发或将函数绑定到被选元素的点击事件
    $(selector).dblclick(function) 触发或将函数绑定到被选元素的双击事件
    $(selector).focus(function) 触发或将函数绑定到被选元素的获得焦点事件
    $(selector).mouseover(function) 触发或将函数绑定到被选元素的鼠标悬停事件

    JQUERY中好玩的动画演示及动态网页讲解

    一:显示与隐藏

    jQuery hide() 和 show()

    通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素:

    (1):Jquery中的关于标签的显示与隐藏代码如下:

    $("#hide").click(function(){
      $("p").hide();
    });
    
    $("#show").click(function(){
      $("p").show();
    });
    2)语法:
    $(selector).hide(speed,callback);
    
    $(selector).show(speed,callback);
    

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

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

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

    3)jQuery toggle()

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

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

    语法:

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

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

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

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <script src="/jquery/jquery-1.11.1.min.js"></script>
     5 <script type="text/javascript">
     6 $(document).ready(function(){
     7   $(".ex .hide").click(function(){
     8     $(this).parents(".ex").hide("slow");
     9   });
    10 });
    11 </script>
    12 <style type="text/css"> 
    13 div.ex
    14 {
    15 background-color:#e5eecc;
    16 padding:7px;
    17 border:solid 1px #c3c3c3;
    18 }
    19 </style>
    20 </head>
    21  
    22 <body>
    23 
    24 <h3>中国办事处</h3>
    25 <div class="ex">
    26 <button class="hide" type="button">隐藏</button>
    27 <p>联系人:张先生<br /> 
    28 北三环中路 100 号<br />
    29 北京</p>
    30 </div>
    31 
    32 <h3>美国办事处</h3>
    33 <div class="ex">
    34 <button class="hide" type="button">隐藏</button>
    35 <p>联系人:David<br /> 
    36 第五大街 200 号<br />
    37 纽约</p>
    38 </div>
    39 
    40 </body>
    41 </html>
    $(所要触发的按钮或其他触发函数介质).click(function(){
    
    $("所需要隐藏的HTML元素").hide();
    
    });
     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <script src="/jquery/jquery-1.11.1.min.js"">
     5 <script type="text/javascript">
     6 $(docment).reday(function(){
     7 $("#hide").click(function(){
     8 $("p").hide();
     9 });
    10 
    11 $("#show").click(function(){
    12 $("p1").show();
    13 });
    14 });
    15 </script>
    16 </head>
    17 <body>
    18 <p  id="p1">如果点击隐藏按钮,我就会消失</p>
    19 <button id="#hide" type="button">隐藏</button>
    20 <button id="#show" type="button">显示</button>
    21 </body>
    22 </html>

    例二:

    隐藏显示中的稍微加深让隐藏时带有时间代码如下:

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <script src="/jquery/jquery-1.11.1.min.js"></script>
     5 <script type="text/javascript">
     6 $(document).ready(function(){
     7   $("button").click(function(){
     8   $("p").hide(1000);
     9   });
    10 });
    11 </script>
    12 </head>
    13 <body>
    14 <button type="button">隐藏</button>
    15 <p>这是一个段落。</p>
    16 <p>这是另一个段落。</p>
    17 </body>
    18 </html>

    jQuery 效果 - 淡入淡出

     通过 jQuery,您可以实现元素的淡入淡出效果。

    jQuery Fading 方法

    通过 jQuery,您可以实现元素的淡入淡出效果。

    jQuery 拥有下面四种 fade 方法:

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

    1)jQuery fadeIn() 方法

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

    语法:

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

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

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

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

     举例代码如下:

    <!DOCTYPE html>
    <html>
    <head>
    <script src="/jquery/jquery-1.11.1.min.js" ></script>
    <script type="test/javascripr">
    $(docment).ready(function(){
     $("button").click(function(){
        $("div1").fadein();
        $("div2").fadein(slow);
        $("div3").fadein(3000);
    });
    });
    </script>
    </head>
    <body>
    <p>演示三种不同参数的fadein函数</p>
    <br><br>
    <div id="div1" 
    style
    ="80px;height:80px;display:none;background-
    color:red;"
    ></div> <br> <div id="div2" style="80px;height:80px;display:none;background- color:green;"></div><br> <div id="div3" style="80px;height:80px;display:none;background- color:blue;"></div><br> </body> </html>

    2)jQuery fadeOut() 方法

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

    语法:

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

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

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

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

    代码如下:

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <script src="/jquery/jquery-1.11.1.min.js"></script>
     5 <script type="text/javascript">
     6 $(document).ready(function(){
     7   $("button").click(function(){
     8     $("#div1").fadeOut();
     9     $("#div2").fadeOut("slow");
    10     $("#div3").fadeOut(3000);
    11   });
    12 });
    13 </script>
    14 </head>
    15 
    16 <body>
    17 <p>演示带有不同参数的 fadeOut() 方法。</p>
    18 <button>点击这里,使三个矩形淡出</button>
    19 <br><br>
    20 <div id="div1" style="80px;height:80px;background-color:red;"></div>
    21 <br>
    22 <div id="div2" style="80px;height:80px;background-color:green;"></div>
    23 <br>
    24 <div id="div3" style="80px;height:80px;background-color:blue;"></div>
    25 </body>
    26 
    27 </html>

    3)jQuery fadeToggle() 方法

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

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

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

    语法:

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

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

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

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

    代码如下:

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <script src="/jquery/jquery-1.11.1.min.js"></script>
     5 <script>
     6 $(document).ready(function(){
     7   $("button").click(function(){
     8     $("#div1").fadeToggle();
     9     $("#div2").fadeToggle("slow");
    10     $("#div3").fadeToggle(3000);
    11   });
    12 });
    13 </script>
    14 </head>
    15 
    16 <body>
    17 
    18 <p>演示带有不同参数的 fadeToggle() 方法。</p>
    19 <button>点击这里,使三个矩形淡入淡出</button>
    20 <br><br>
    21 <div id="div1" style="80px;height:80px;background-color:red;"></div>
    22 <br>
    23 <div id="div2" style="80px;height:80px;background-color:green;"></div>
    24 <br>
    25 <div id="div3" style="80px;height:80px;background-color:blue;"></div>
    26 </body>
    27 
    28 </body>
    29 </html>

    4)jQuery fadeTo() 方法

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

    语法:

    $(selector).fadeTo(speed,opacity,callback);

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

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

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

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

     代码如下:

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <script src="/jquery/jquery-1.11.1.min.js"></script>
     5 <script>
     6 $(document).ready(function(){
     7   $("button").click(function(){
     8     $("#div1").fadeToggle();
     9     $("#div2").fadeToggle("slow");
    10     $("#div3").fadeToggle(3000);
    11   });
    12 });
    13 </script>
    14 </head>
    15 
    16 <body>
    17 
    18 <p>演示带有不同参数的 fadeToggle() 方法。</p>
    19 <button>点击这里,使三个矩形淡入淡出</button>
    20 <br><br>
    21 <div id="div1" style="80px;height:80px;background-color:red;"></div>
    22 <br>
    23 <div id="div2" style="80px;height:80px;background-color:green;"></div>
    24 <br>
    25 <div id="div3" style="80px;height:80px;background-color:blue;"></div>
    26 </body>
    27 
    28 </body>
    29 </html>

    jQuery 效果 - 滑动

     jQuery 滑动方法可使元素上下滑动。

    jQuery 滑动方法

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

    jQuery 拥有以下滑动方法:

    • slideDown()
    • slideUp()
    • slideToggle()

    1)jQuery slideDown() 方法

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

    语法:

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

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

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

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

    代码如下:

    <!DOCTYPE html>
    <html>
    <head>
    <script src="/jquery/jquery-1.11.1.min.js"></script>
    <script type="text/javascript"> 
    $(document).ready(function(){
      $(".flip").click(function(){
        $(".panel").slideDown("slow");
      });
    });
    </script>
     
    <style type="text/css"> 
    div.panel,p.flip
    {
    margin:0px;
    padding:5px;
    text-align:center;
    background:#e5eecc;
    border:solid 1px #c3c3c3;
    }
    div.panel
    {
    height:120px;
    display:none;
    }
    </style>
    </head>
     
    <body>
     
    <div class="panel">
    <p>W3School - 领先的 Web 技术教程站点</p>
    <p>在 W3School,你可以找到你所需要的所有网站建设教程。</p>
    </div>
     
    <p class="flip">请点击这里</p>
     
    </body>
    </html>

    2)jQuery slideUp() 方法

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

    语法:

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

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

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

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

    3)jQuery slideToggle() 方法

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

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

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

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

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

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

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

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <script src="jquery/jquery-1.11.1.min.js"></script>
     5 <script type="text/javascript">
     6 $(docment).ready(function(){
     7   $(".flip").click(function(){
     8   $(".penal").slideToggle("slow");
     9 });
    10 });
    11 </script>
    12 </head>
    13 <style type="text/css"> 
    14 div.panel,p.flip
    15 {
    16 margin:0px;
    17 padding:5px;
    18 text-align:center;
    19 background:#e5eecc;
    20 border:solid 1px #c3c3c3;
    21 }
    22 div.panel
    23 {
    24 height:120px;
    25 display:none;
    26 }
    27 </style>
    28 </head>
    29  
    30 <body>
    31  
    32 <div class="panel">
    33 <p>W3School - 领先的 Web 技术教程站点</p>
    34 <p>在 W3School,你可以找到你所需要的所有网站建设教程。</p>
    35 </div>
    36 <p class="flip">请点击这里</p>
    37 </html>

    jQuery 效果 - 动画

     jQuery animate() 方法允许您创建自定义的动画。

    jQuery 动画 - animate() 方法

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

    语法:

    $(selector).animate({params},speed,callback);

    必需的 params 参数定义形成动画的 CSS 属性。

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

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

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

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

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

    jQuery animate() - 操作多个属性(深度)

    请注意,生成动画的过程中可同时使用多个属性:

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

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

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

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

    案例代码如下:

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <script src="/jquery/jquery-1.11.1.min.js">
     5 </script>
     6 <script> 
     7 $(document).ready(function(){
     8   $("button").click(function(){
     9     $("div").animate({
    10       left:'250px',
    11       opacity:'0.5',
    12       height:'150px',
    13       '150px'
    14     });
    15   });
    16 });
    17 </script> 
    18 </head>
    19  
    20 <body>
    21 
    22 <button>开始动画</button>
    23 <p>默认情况下,所有 HTML 元素的位置都是静态的,并且无法移动。如需对位置进行操作,记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute。</p>
    24 <div style="background:#98bf21;height:100px;100px;position:absolute;">
    25 </div>
    26 
    27 </body>
    28 </html>

    jQuery animate() - 使用相对值

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

    jQuery animate() - 使用预定义的值

    您甚至可以把属性的动画值设置为 "show"、"hide" 或 "toggle":

    jQuery animate() - 使用队列功能

    默认地,jQuery 提供针对动画的队列功能。

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

    使用队列功能的代码如下:
    <!DOCTYPE html>
    <html>
    <head>
    <script src="jquery/jquery-1.11.1.min.js"></script>
    <script type="text/javascript"></script>
    $(docment).ready(function(){
        $("button").click(function(){
       var div=$("div");
             div.animate({left:'250px'},"slow");
             div.animate({fontSize:'3em'},"slow");
    });
    });
    </head>
    <body>
    <button>开始动画</button>
    <p>默认情况下,所有 HTML 元素的位置都是静态的,并且无法移动。如需对位置进行操作,记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute。<p/>
    <div style="background:red;100px;
    height:100px;position:absolute"></div>
    </body>
    </html>

    jQuery 停止动画

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

    jQuery stop() 方法

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

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

    语法

    $(selector).stop(stopAll,goToEnd);

    可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。

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

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

    代码案例如下:

     1 <DOCTYPE html>
     2 <html>
     3 <head>
     4 <script src="jquery/jquery-1.11.1.min.js"></script>
     5 <script>
     6 $(docment).ready(function(){
     7     $("#start").click(function(){
     8       $("div").animate ({left:'250px'},5000);
     9       $("div").animate({fontSize:'3em'},5000);
    10 });
    11     $("#stop").click(function(){
    12       $("div").stop(); 
    13 });
    14     $("#stop2").click(function(){
    15       $("div").stop(true);
    16 });
    17     $("#stop3").click(funcution(){
    18       $("div").stop(true,true);
    19 });
    20 });
    21 </script>
    22 </head>
    23 <body>
    24 <button id="start" type=button>开始</button>
    25 <button id="stop" type=button>停止</button>
    26 <button id="stop2" type=button>停止所有</button>
    27 <button id="stop3" type=button>停止但要完成</button>
    28 <p>"开始" 按钮会启动动画。<p/>
    29 <p>"停止" 按钮会停止当前活动的动画,但允许已排队的动画向前执行。<p/>
    30 <p>"停止所有" 按钮停止当前活动的动画,并清空动画队列;因此元素上的所有动画都会停止。<p/>
    31 <p>"停止但要完成" 会立即完成当前活动的动画,然后停下来。<p/>
    32 <div style="background:red;150px;
    33 height:150px;position:absolute">HELLO</div>
    34 </body>
    35 
    36 </html>

    jQuery Callback 函数

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

    jQuery 动画的问题

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

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

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

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

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

    jQuery Callback 函数

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

    典型的语法:

    $(selector).hide(speed,callback)

    callback 参数是一个在 hide 操作完成后被执行的函数。

    结论:如果您希望在一个涉及动画的函数之后来执行语句,请使用 callback 函数。
    示例代码如下:
     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <script src="jquery/jquery.1.11.1.min.js"></script>
     5 <script type="text/javascript">
     6 $(docment).ready(function(){
     7    $("button").click(function(){
     8       $("p").hide(1000,function(){
     9   alert("这条信息已经隐藏");
    10   });
    11  });
    12 }):
    13 </script>
    14 </head>
    15 <body>
    16 <button type=button>Hide</button>
    17 <p>这是一个段落!!</p>
    18 </body>
    19 </html>

    jQuery - Chaining

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

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

    jQuery 方法链接

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

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

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

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

    示例代码如下:
     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <script src="jquery/jquery-1.11.1.min.js"></script>
     5 <script type="text/javascript">
     6 $(docment).ready(function(){
     7    $("button").click(function(){
     8       $("p1").css("color","red").sildup(2000).sildDown(2000);
     9  });
    10 });
    11 </script>
    12 </head>
    13 <body>
    14 <p id="p1">jQuery 乐趣十足!</p>
    15 <button>点击这里</button>
    16 </body>
    17 </html>

    jQuery - css() 方法

    jQuery css() 方法

    css() 方法设置或返回被选元素的一个或多个样式属性。

    返回 CSS 属性

    如需返回指定的 CSS 属性的值,请使用如下语法:

    css("propertyname");

    下面的例子将返回首个匹配元素的 background-color 值:

    实例

    $("p").css("background-color");

    设置 CSS 属性

    如需设置指定的 CSS 属性,请使用如下语法:

    css("propertyname","value");

    下面的例子将为所有匹配元素设置 background-color 值:

    实例

    $("p").css("background-color","yellow");

    设置多个 CSS 属性

    如需设置多个 CSS 属性,请使用如下语法:

    css({"propertyname":"value","propertyname":"value",...});

    下面的例子将为所有匹配元素设置 background-color 和 font-size:

    实例

    $("p").css({"background-color":"yellow","font-size":"200%"});
    下面的例子设置指定的 <div> 元素的宽度和高度:
     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <script src="/jquery/jquery-1.11.1.min.js"></script>
     5 <script>
     6 $(document).ready(function(){
     7   $("button").click(function(){
     8     $("#div1").width(320).height(320);
     9   });
    10 });
    11 </script>
    12 </head>
    13 <body>
    14 
    15 <div id="div1" style="height:100px;300px;padding:10px;margin:3px;border:1px solid blue;background-color:lightblue;"></div>
    16 <br>
    17 <button>调整 div 的尺寸</button>
    18 
    19 </body>
    20 </html>

    jQuery 遍历

    什么是遍历?

    jQuery 遍历,意为“移动”,用于根据其相对于其他元素的关系来“查找”(或选取)HTML 元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。

    下图展示了一个家族树。通过 jQuery 遍历,您能够从被选(当前的)元素开始,轻松地在家族树中向上移动(祖先),向下移动(子孙),水平移动(同胞)。这种移动被称为对 DOM 进行遍历。

    图示解释:

    遍历 DOM 树
    • <div> 元素是 <ul> 的父元素,同时是其中所有内容的祖先。
    • <ul> 元素是 <li> 元素的父元素,同时是 <div> 的子元素
    • 左边的 <li> 元素是 <span> 的父元素,<ul> 的子元素,同时是 <div> 的后代。
    • <span> 元素是 <li> 的子元素,同时是 <ul> 和 <div> 的后代。
    • 两个 <li> 元素是同胞(拥有相同的父元素)。
    • 右边的 <li> 元素是 <b> 的父元素,<ul> 的子元素,同时是 <div> 的后代。
    • <b> 元素是右边的 <li> 的子元素,同时是 <ul> 和 <div> 的后代。

    提示:祖先是父、祖父、曾祖父等等。后代是子、孙、曾孙等等。同胞拥有相同的父。

    遍历 DOM

    jQuery 提供了多种遍历 DOM 的方法。

    遍历方法中最大的种类是树遍历(tree-traversal)。

    下一章会讲解如何在 DOM 树中向上、下以及同级移动。

    如需了解所有的 jQuery 遍历方法,请访问我们的:http://www.w3school.com.cn/jquery/jquery_ref_traversing.asp

    jQuery 遍历 - 过滤

    缩写搜索元素的范围

    三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素。

    其他过滤方法,比如 filter() 和 not() 允许您选取匹配或不匹配某项指定标准的元素。

    jQuery first() 方法

    first() 方法返回被选元素的首个元素。

    下面的例子选取首个 <div> 元素内部的第一个 <p> 元素:

    实例

    $(document).ready(function(){
      $("div p").first();
    });

    jQuery last() 方法

    last() 方法返回被选元素的最后一个元素。

    下面的例子选择最后一个 <div> 元素中的最后一个 <p> 元素:

    实例

    $(document).ready(function(){
      $("div p").last();
    });

    jQuery eq() 方法

    eq() 方法返回被选元素中带有指定索引号的元素。

    索引号从 0 开始,因此首个元素的索引号是 0 而不是 1。下面的例子选取第二个 <p> 元素(索引号 1):

    实例

    $(document).ready(function(){
      $("p").eq(1);
    });

    jQuery filter() 方法

    filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。

    下面的例子返回带有类名 "intro" 的所有 <p> 元素:

    实例

    $(document).ready(function(){
      $("p").filter(".intro");
    });

    jQuery not() 方法

    not() 方法返回不匹配标准的所有元素。

    提示:not() 方法与 filter() 相反。

    下面的例子返回不带有类名 "intro" 的所有 <p> 元素:

    实例

    $(document).ready(function(){
      $("p").not(".intro");
    });

    关于 jQuery 与 AJAX

    jQuery 提供多个与 AJAX 有关的方法。

    通过 jQuery AJAX 方法,您能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML 或 JSON - 同时您能够把这些外部数据直接载入网页的被选元素中。

    提示:如果没有 jQuery,AJAX 编程还是有些难度的。

    编写常规的 AJAX 代码并不容易,因为不同的浏览器对 AJAX 的实现并不相同。这意味着您必须编写额外的代码对浏览器进行测试。不过,jQuery 团队为我们解决了这个难题,我们只需要一行简单的代码,就可以实现 AJAX 功能。

    一个简单的Ajax案例代码如下:
     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <script src="/jquery/jquery-1.11.1.min.js">
     5 </script>
     6 <script>
     7 $(document).ready(function(){
     8   $("#btn1").click(function(){
     9     $('#test').load('/example/jquery/demo_test.txt');
    10   })
    11 })
    12 </script>
    13 </head>
    14 
    15 <body>
    16 
    17 <h3 id="test">请点击下面的按钮,通过 jQuery AJAX 改变这段文本。</h3>
    18 <button id="btn1" type="button">获得外部的内容</button>
    19 
    20 </body>
    21 </html>

    jQuery - AJAX load() 方法

    jQuery load() 方法

    jQuery load() 方法是简单但强大的 AJAX 方法。

    load() 方法从服务器加载数据,并把返回的数据放入被选元素中。

    语法:

    $(selector).load(URL,data,callback);

    必需的 URL 参数规定您希望加载的 URL。

    也可以把 jQuery 选择器添加到 URL 参数。

    下面的例子把 "demo_test.txt" 文件中 id="p1" 的元素的内容,加载到指定的 <div> 元素中:

    可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。

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

    可选的 callback 参数规定当 load() 方法完成后所要允许的回调函数。回调函数可以设置不同的参数:

    callback函数中的不同参数的含义:

    • responseTxt - 包含调用成功时的结果内容
    • statusTXT - 包含调用的状态
    • xhr - 包含 XMLHttpRequest 对象

    下面的例子会在 load() 方法完成后显示一个提示框。如果 load() 方法已成功,则显示“外部内容加载成功!”,而如果失败,则显示错误消息:

    jQuery - AJAX get() 和 post() 方法

    jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。

    HTTP 请求:GET vs. POST

    两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。

    • GET - 从指定的资源请求数据
    • POST - 向指定的资源提交要处理的数据

    GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。

    POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。

    如需学习更多有关 GET 和 POST 以及两方法差异的知识,请阅读我们的 HTTP 方法 - GET 对比 POST

    jQuery $.get() 方法

    $.get() 方法通过 HTTP GET 请求从服务器上请求数据。

    语法:

    $.get(URL,callback);

    必需的 URL 参数规定您希望请求的 URL。

    可选的 callback 参数是请求成功后所执行的函数名。

    下面的例子使用 $.get() 方法从服务器上的一个文件中取回数据:

    实例

    $("button").click(function(){
      $.get("demo_test.asp",function(data,status){
        alert("Data: " + data + "
    Status: " + status);
      });
    });

    $.get() 的第一个参数是我们希望请求的 URL("demo_test.asp")。

    第二个参数是回调函数。第一个回调参数存有被请求页面的内容,第二个回调参数存有请求的状态。

    提示:这个 ASP 文件 ("demo_test.asp") 类似这样:

    <%
    response.write("This is some text from an external ASP file.")
    %>

    jQuery $.post() 方法

    $.post() 方法通过 HTTP POST 请求从服务器上请求数据。

    语法:

    $.post(URL,data,callback);

    必需的 URL 参数规定您希望请求的 URL。

    可选的 data 参数规定连同请求发送的数据。

    可选的 callback 参数是请求成功后所执行的函数名。

    下面的例子使用 $.post() 连同请求一起发送数据:

    $.post() 的第一个参数是我们希望请求的 URL ("demo_test_post.asp")。

    然后我们连同请求(name 和 city)一起发送数据。

    "demo_test_post.asp" 中的 ASP 脚本读取这些参数,对它们进行处理,然后返回结果。

    第三个参数是回调函数。第一个回调参数存有被请求页面的内容,而第二个参数存有请求的状态。

    提示:这个 ASP 文件 ("demo_test_post.asp") 类似这样:

    <%
    dim fname,city
    fname=Request.Form("name")
    city=Request.Form("city")
    Response.Write("Dear " & fname & ". ")
    Response.Write("Hope you live well in " & city & ".")
    %>

    jQuery - noConflict() 方法

    如何在页面上同时使用 jQuery 和其他框架?

    jQuery 和其他 JavaScript 框架

    正如您已经了解到的,jQuery 使用 $ 符号作为 jQuery 的简写。

    如果其他 JavaScript 框架也使用 $ 符号作为简写怎么办?

    其他一些 JavaScript 框架包括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。

    其中某些框架也使用 $ 符号作为简写(就像 jQuery),如果您在用的两种不同的框架正在使用相同的简写符号,有可能导致脚本停止运行。

    jQuery 的团队考虑到了这个问题,并实现了 noConflict() 方法。

    jQuery noConflict() 方法

    noConflict() 方法会释放会 $ 标识符的控制,这样其他脚本就可以使用它了。

    jQuery - noConflict() 方法

    如何在页面上同时使用 jQuery 和其他框架?

    jQuery 和其他 JavaScript 框架

    正如您已经了解到的,jQuery 使用 $ 符号作为 jQuery 的简写。

    如果其他 JavaScript 框架也使用 $ 符号作为简写怎么办?

    其他一些 JavaScript 框架包括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。

    其中某些框架也使用 $ 符号作为简写(就像 jQuery),如果您在用的两种不同的框架正在使用相同的简写符号,有可能导致脚本停止运行。

    jQuery 的团队考虑到了这个问题,并实现了 noConflict() 方法。

    jQuery noConflict() 方法

    noConflict() 方法会释放会 $ 标识符的控制,这样其他脚本就可以使用它了。











  • 相关阅读:
    TableExport导出失败问题
    gitlab备份、恢复、升级
    读书笔记一【加密——替换法】
    读书笔记一【加密——换位法】
    解决Kettle ETL数据乱码
    SQL中exsit和in
    Centos下搭建邮件服务器
    2018总结及2019计划
    mac安装gcc
    Vue.js学习 Item11 – 组件与组件间的通信
  • 原文地址:https://www.cnblogs.com/shuai9999/p/9794456.html
Copyright © 2011-2022 走看看