首页 > Web开发 > 详细

jQuery学习笔记

时间:2016-03-29 16:24:49      阅读:146      评论:0      收藏:0      [点我收藏+]

本日志内容均来自 http://www.w3school.com.cn/jquery/ 教程,边看边整理。 

jQuery 是一个“写的更少,但做的更多”的轻量级 JavaScript 库。

jQuery可以在jQuery.com被下载。

有两个版本的 jQuery 可供下载:

  • Production version - 用于实际的网站中,已被精简和压缩。

  • Development version - 用于测试和开发(未压缩,是可读的代码)

可以把下载文件放到与页面相同的目录中,这样更方便使用。

向页面添加jQuery库,<script> 标签应该位于页面的 <head> 部分。

<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs
/jquery/1.4.0/jquery.min.js"></script>
</head>

库的替代

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>

使用Google或Microsoft提供的在线js的好处:

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

jQuery 库包含以下特性:

  • HTML 元素选取

  • HTML 元素操作

  • CSS 操作

  • HTML 事件函数

  • JavaScript 特效和动画

  • HTML DOM 遍历和修改

  • AJAX

  • Utilities

jQuery基本语法:

jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。

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

  • 美元符号定义 jQuery

  • 选择符(selector)“查询”和“查找” HTML 元素

  • jQuery 的 action() 执行对元素的操作

示例

$(this).hide() - 隐藏当前元素

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

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

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

 

文档就绪函数

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

$(document).ready(function(){
--- jQuery functions go here ----
});

 

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

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

  • 试图隐藏一个不存在的元素

  • 获得未完全加载的图像的大小

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

jQuery 元素选择器

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

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

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

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

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 是为事件处理特别设计的。

<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    //do something
    $("p").hide();
  });
});
</script>

单独文件中的函数

<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)来代替 $ 符号。

<script>
$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery 仍在运行!");
  });
});
</script>
<script>
var jq = $.noConflict();
jq(document).ready(function(){
  jq("button").click(function(){
    jq("p").text("jQuery 仍在运行!");
  });
});
</script>

jQuery常用事件

$(document).ready(function); //将函数绑定到文档的就绪事件(当文档完成加载时)

$(selector).click(function); //触发或将函数绑定到被选元素的点击事件

$(selector).dblclick(function); //触发或将函数绑定到被选元素的双击事件

$(selector).focus(function); //触发或将函数绑定到被选元素的获得焦点事件

$(selector).mouseover(function); //触发或将函数绑定到被选元素的鼠标悬停事件

 

jQuery hide() 和 show()

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

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

//语法,
可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。
$(selector).hide(speed,callback);
$(selector).show(speed,callback);
//通过 jQuery,您可以使用 toggle() 方法来切换 hide() 和 show() 方法。
//显示被隐藏的元素,并隐藏已显示的元素:
$("button").click(function(){
  $("p").toggle();
});

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

jQuery Fading 方法

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

jQuery 拥有下面四种 fade 方法:

  • fadeIn()

  • fadeOut()

  • fadeToggle()

  • fadeTo()

//用于淡入已隐藏的元素。
//可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
$(selector).fadeIn(speed,callback);

//用于淡出可见元素。
//可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
$(selector).fadeOut(speed,callback);

//jQuery fadeToggle() 方法可以在 fadeIn() 与 fadeOut() 方法之间进行切换。
//如果元素已淡出,则 fadeToggle() 会向元素添加淡入效果。
//如果元素已淡入,则 fadeToggle() 会向元素添加淡出效果。
//如果callback非空,无论是完成淡入或者淡出,callback都会被触发
$(selector).fadeToggle(speed,callback);

//必需的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
//fadeTo() 方法中必需的 opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。
//可选的 callback 参数是该函数完成后所执行的函数名称。
$(selector).fadeTo(speed,opacity,callback);

jQuery 滑动方法

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

jQuery 拥有以下滑动方法:

  • slideDown()

  • slideUp()

  • slideToggle()

三组方法类似于fadeIn() ,fadeOut(), fadeToggle(),这里不做详细记录

jQuery 动画 - animate() 方法

//!!默认情况下,所有 HTML 元素的位置都是静态的,并且无法移动。如需对位置进行操作,记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute。

//必需的 params 参数定义形成动画的 CSS 属性。
//可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
//可选的 callback 参数是动画完成后所执行的函数名称。
$(selector).animate({params},speed,callback);

//example:把 <div> 元素移动到左边,直到 left 属性等于 250 像素为止:
实例
$("button").click(function(){
  $("div").animate({left:‘250px‘});
}); 

//操作多个属性
$("button").click(function(){
  $("div").animate({
    left:‘250px‘,
    opacity:‘0.5‘,
    height:‘150px‘,
    width:‘150px‘
  });
}); 

//使用相对值
//也可以定义相对值(该值相对于元素的当前值)。需要在值的前面加上 += 或 -=
$("button").click(function(){
  $("div").animate({
    left:‘250px‘,
    height:‘+=150px‘,
    width:‘+=150px‘
  });
});

//甚至可以把属性的动画值设置为 "show"、"hide" 或 "toggle":
$("button").click(function(){
  $("div").animate({
    height:‘toggle‘
  });
});

//jQuery 默认提供针对动画的队列功能。
//jQuery 会内部创建这些动画的运行队列。与TweenLite不同,不需要手动创建队列
$("button").click(function(){
  var div=$("div");
  div.animate({height:‘300px‘,opacity:‘0.4‘},"slow");
  div.animate({width:‘300px‘,opacity:‘0.8‘},"slow");
  div.animate({height:‘100px‘,opacity:‘0.4‘},"slow");
  div.animate({width:‘100px‘,opacity:‘0.8‘},"slow");
});


//当使用 animate() 时,必须使用 Camel 标记法书写所有的属性名,比如,必须使用 paddingLeft 而不是 padding-left,使用 marginRight 而不是 margin-right,等等。
//同时,色彩动画并不包含在核心 jQuery 库中。
//如果需要生成颜色动画,您需要从 jQuery.com 下载 Color Animations 插件。

 

jQuery学习笔记

原文:http://www.cnblogs.com/jsncz/p/5333090.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!