jQuery学习笔记

1.jQuery的CDN
新浪:http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js
百度:http://libs.baidu.com/jquery/1.9.1/jquery.min.js
360: http://libs.useso.com/js/jquery/1.9.1/jquery.min.js
谷歌:http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js
微软:http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js



2.加载jQuery
<script type="text/javascript" src="xxxxxxxxxx.js"></script>



3.jQuery基本语法
$(selector).action()
//美元符号定义 jQuery
//选择符(selector)“查询”和“查找” HTML 元素
//jQuery 的 action() 执行对元素的操作

例子:
$(this).hide() - 隐藏当前元素
$("p").hide() - 隐藏所有段落
$(".test").hide() - 隐藏所有 class="test" 的所有元素
$("#test").hide() - 隐藏所有 id="test" 的元素



3.文档就绪函数
所有 jQuery 函数位于一个 document ready 函数中
这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。
(如果在文档没有完全加载之前就运行函数,有些操作可能失败。)

$(document).ready(function(){


--- jQuery functions go here ----


});



4.jQuery选择器
分类:
元素选择器
属性选择器
CSS 选择器

例子:
$(this)            当前HTML元素

元素选择器:
$("p") 选取 <p> 元素。
$("p.intro") 选取所有 class="intro" 的 <p> 元素。
$("p#demo") 选取所有 id="demo" 的 <p> 元素。

属性选择器:
$("[href]") 选取所有带有href属性的元素
$("[href='#']") 选取所有属性href='#'的元素
$("[href!='#']")选取所有属性href!='#'的元素
$("[href$='.jpg']")选取所有href属性以‘.jpg’结尾的元素

CSS 选择器:
$("p").css("background-color","red"); 把所有p元素的背景颜色更改为红色


5.jQuery事件
jQuery事件函数:
$(document).ready(function) 将函数绑定到文档的就绪事件(当文档完成加载时)
$(selector).click(function) 触发或将函数绑定到被选元素的点击事件
$(selector).dblclick(function) 触发或将函数绑定到被选元素的双击事件
$(selector).focus(function) 触发或将函数绑定到被选元素的获得焦点事件
$(selector).mouseover(function) 触发或将函数绑定到被选元素的鼠标悬停事件
其他事件详细看:http://www.w3school.com.cn/jquery/jquery_ref_events.asp

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

jQuery名称冲突问题:
"$"符号除了jQuery会使用以外,其他js库中(如Prototype)也会使用"$"
为了防止"$"的冲突,jQuery使用noConflict()方法来解决
var jq=jQuery.noConflict(),帮助您使用自己的名称(比如 jq)来代替 $ 符号。
例子:
//可以通过全名替代简写的方式来使用 jQuery
<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 是为处理 HTML 事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护:
1)把所有 jQuery 代码置于事件处理函数中
2)把所有事件处理函数置于文档就绪事件处理器中
3)把 jQuery 代码置于单独的 .js 文件中
4)如果存在名称冲突,则重命名 jQuery 库


6.jQuery的(动画)效果
1)隐藏/显示
$(selector).hide(speed,callback);   //隐藏
$(selector).show(speed,callback); //显示
$(selector).toggle(speed,callback); //切换隐藏和显示
(可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。)
(可选的 callback 参数是隐藏或显示完成后所执行的函数名称。)



例子:
//隐藏
$("#hide").click(function(){
 $("p").hide();
});

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

2)淡入淡出
$(selector).fadeIn(speed,callback); //淡入
$(selector).fadeOut(speed,callback); //淡出
$(selector).fadeToggle(speed,callback); //切换淡入和淡出
$(selector).fadeTo(speed,opacity,callback); //设置渐变到某一指定透明度(0-1)
(可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。)
(可选的 callback 参数是隐藏或显示完成后所执行的函数名称。)
(opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间))

3)滑动
$(selector).slideDown(speed,callback); //下滑
$(selector).slideUp(speed,callback); //上滑
$(selector).slideToggle(speed,callback); //切换下滑和上滑
(可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。)
(可选的 callback 参数是隐藏或显示完成后所执行的函数名称。)


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



注意:
a.默认地,所有 HTML 元素都有一个静态位置,且无法移动。
如需对位置进行操作,要记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute!
b.提示:可以用 animate() 方法来操作所有 CSS 属性吗?
是的,几乎可以!不过,需要记住一件重要的事情:当使用 animate() 时,必须使用 Camel 标记法书写所有的属性名,
比如,必须使用 paddingLeft 而不是 padding-left,使用 marginRight 而不是 margin-right,等等。
同时,色彩动画并不包含在核心 jQuery 库中。
如果需要生成颜色动画,您需要从 jQuery.com 下载 Color Animations 插件。

jQuery动画的几个特点:
*操作多个属性 (生成动画的过程中可同时使用多个属性)
*使用相对值 (可以定义相对值(该值相对于元素的当前值)。需要在值的前面加上 += 或 -=)
*使用预定义的值 (可以把属性的动画值设置为 "show"、"hide" 或 "toggle")
*使用队列功能 (按顺序添加animate,就可以按这个顺序执行动画)

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

//把 <div> 元素移动到左边,直到 left=250px,opacity=0.5(透明度),height=150px,width=150px为止:
$("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'
 });
});


//按队列顺序执行动画
$("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");
});


//按队列顺序执行动画
$("button").click(function(){
 var div=$("div");
 div.animate({left:'100px'},"slow");
 div.animate({fontSize:'3em'},"slow");
});


5)停止stop()
$(selector).stop(stopAll,goToEnd);
(可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。)
(可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。)
(默认地,不带任何参数的 stop() 会清除在被选元素上指定的【当前】动画。)


6)callback函数
前面提到的各种特效括号中的"callback"函数,是在当前动画 100% 完成之后执行。
结论:如果您希望在一个涉及动画的函数之后来执行语句,请使用 callback 函数。




7)Chaining特性
通过 jQuery,您可以把动作/方法链接起来。
Chaining 允许我们在一条语句中允许多个 jQuery 方法(在相同的元素上)。
这样的话,浏览器就不必多次查找相同的元素。
如需链接一个动作,您只需简单地把该动作追加到之前的动作上。


例子:
//"p1" 元素首先会变为红色,然后向上滑动,然后向下滑动:
$("#p1").css("color","red").slideUp(2000).slideDown(2000);




7.jQuery的通过DOM操作来控制HTML内容
1)获取内容、属性:
text() - 设置或返回所选元素的文本内容
html() - 设置或返回所选元素的内容(包括 HTML 标记)
val() - 设置或返回表单字段的值
attr(attribute, callback) - 设置或返回属性值
例子:
$("#test").text()  //获取id=test的元素中的文本内容

2)设置内容、属性:
text(),html(),val(),attr()的括号用填入你想要改变成的内容"xxx"即可
例子:
$("#test1").text("Hello world!");    //把id=test1的元素中的文本内容改成 Hello world!
$("#w3s").attr("href","http://www.w3school.com.cn/jquery");  //改变(设置)链接中 href 属性的值
//attr() 方法也允许您同时设置多个属性
$("#w3s").attr({  
"href" : "http://www.w3school.com.cn/jquery",
"title" : "W3School jQuery Tutorial"
});

3)回调函数
text()、html() 以及 val(),同样拥有回调函数。
回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。
然后以函数新值返回您希望使用的字符串。

例子:
$("#btn1").click(function(){
 $("#test1").text(function(i,origText){
return "Old text: " + origText + " New text: Hello world!
(index: " + i + ")";
 });
});


$("#btn2").click(function(){
 $("#test2").html(function(i,origText){
return "Old html: " + origText + " New html: Hello <b>world!</b>
(index: " + i + ")";
 });
});


attr(),也提供回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。
然后以函数新值返回您希望使用的字符串。


例子:
$("button").click(function(){
 $("#w3s").attr("href", function(i,origValue){
return origValue + "/jquery";
 });
});


4)添加
jQuery可以向HTML中添加一下内容
append() - 在被选元素中的结尾插入内容
prepend() - 在被选元素中的开头插入内容
after() - 在被选元素之后插入内容
before() - 在被选元素之前插入内容

实例:
$("p").append("Some appended text."); //在p元素中的结尾插入括号中的内容
$("p").prepend("Some prepended text.");

//append() 和 prepend() 方法能够通过参数接收无限数量的新元素。
function appendText()
{
var txt1="<p>Text.</p>";               // 以 HTML 创建新元素
var txt2=$("<p></p>").text("Text.");   // 以 jQuery 创建新元素
var txt3=document.createElement("p");  // 以 DOM 创建新元素
txt3.innerHTML="Text.";
$("p").append(txt1,txt2,txt3);         // 追加新元素
}

$("img").after("Some text after"); //在img元素之后插入内容
$("img").before("<b>Some text before</b>"); //在img元素之前插入内容

//after()和before() 方法也能够插入若干个新元素
function afterText()
{
var txt1="<b>I </b>";                    // 以 HTML 创建新元素
var txt2=$("<i></i>").text("love ");     // 通过 jQuery 创建新元素
var txt3=document.createElement("big");  // 通过 DOM 创建新元素
txt3.innerHTML="jQuery!";
$("img").after(txt1,txt2,txt3);          // 在 img 之后插入新元素
}


5)删除
remove() - 删除被选元素(以及子元素) -"全家死"
empty() - 从被选元素中删除子元素  -"孩子死"
(remove中可以带参数,用来过滤出要删除的元素)

实例:
$("#div1").remove(); //删除id=div1的元素以及它的子元素
$("#div1").empty(); //删除id=div1的元素的子元素
$("p").remove(".italic"); //删除含有class="italic"的<p>元素



8.jQuery控制CSS内容
addClass() - 向被选元素添加一个或多个类
removeClass() - 从被选元素删除一个或多个类
toggleClass() - 对被选元素进行添加/删除类的切换操作
css() - 设置或返回样式属性

实例:
$("div").addClass("important"); //向一个元素添加class属性
$("h1,h2,p").addClass("blue"); //向多个元素添加class属性
$("#div1").addClass("important blue"); //向一个元素添加多个属性
$("h1,h2,p").removeClass("blue"); //向不同元素删除它们指定的class属性
$("h1,h2,p").toggleClass("blue"); //切换添加/删除Class操作

$("p").css("background-color"); //返回background-color属性的值
$("p").css("background-color", "yellow"); //修改background-color属性的值为yellow
$("p").css({"background-color":"yellow","font-size":"200%"}); //修改多个属性的值



9.jQuery控制元素和浏览器窗口的尺寸
width() - 设置或返回元素的宽度(不包括内边距、边框或外边距)
height() - 设置或返回元素的高度(不包括内边距、边框或外边距)
innerWidth() - 返回元素的宽度(包括内边距)
innerHeight() - 返回元素的高度(包括内边距)
outerWidth() - 返回元素的宽度(包括内边距和边框)
outerHeight() - 返回元素的高度(包括内边距和边框)

实例:
$("#div1").width(); //返回id=div1的元素的宽度
$("#div1").innerWidth(); //返回id=div1的元素的宽度(包括padding)
$("#div1").outerWidth(); //返回id=div1的元素的宽度(包括padding和margin和border)
$(document).width(); //返回HTML文档的宽度
$(window).width(); //返回浏览器窗口的宽度
$("#div1").width(500).height(500); //设置div元素的宽度和高度


10.jQuery遍历DOM元素
parent() - 返回被选元素的直接父元素
parents() - 返回被选元素的所有祖先元素,一路向上直到根元素(<html>)
parentsUntil() - 返回介于被选元素和指定元素之间的所有祖先元素
children() - 返回被选元素的的所有直接子元素
find() - 返回被选元素的后代元素,一路向下直到最后一个后代
siblings() - 返回被选元素的所有同胞元素
next() - 返回被选元素的下一个同胞元素
nextAll() - 返回被选元素的所有跟随的同胞元素
nextUntil() - 返回介于被选元素和指定元素之间的所有同胞元素
prev()
prevAll()
prevUntil()

first() - 返回被选元素集合中的首个元素
last() - 返回被选元素集合中的最后一个元素
eq(索引号) - 返回被选元素集合中的指定索引号的元素(与数组类似,索引号从0开始)
filter("匹配标准") - 返回被选元素集合中符合匹配标准的元素
not("匹配标准") - 返回被选元素集合中不符合匹配标准的元素(与楼上相反)



实例:
$("span").parent(); //返回每个span元素的直接父元素
$("span").parents(); //返回每个span元素的所有祖先
$("span").parents("ul"); //返回每个span元素的所有祖先,并且是这些祖先要是ul元素
$("span").parentsUntil("div"); //返回span元素和div元素之间的所有祖先元素

$("div").children(); //返回div元素的所有直接子元素
$("div").children("p.1"); //返回div元素的直接子元素,并且返回的这些直接子元素要是class=1的p元素
$("div").find("*"); //返回div元素的所有后代
$("div").find("span"); //返回div元素后代的所有span元素

$("h2").siblings(); //返回h2元素的所有同胞元素
$("h2").siblings("p"); //返回h2元素的同胞元素中的所有p元素
$("h2").next(); //返回h2元素的下一个同胞元素
$("h2").nextAll(); //返回h2元素的所有跟随的同胞元素
$("h2").nextUntil("h6");//返回h2元素和h6元素之间的所有同胞元素(不包括h2和h6本身)

$("div p").first(); //返回<div>元素内部的第一个<p>元素
$("div p").last(); //返回<div>元素内部的最后一个<p>元素
$("p").eq(1); //返回所有<p>元素中的第2个<p>元素
$("p").filter(".intro");//返回所有带有类名为 "intro" 的 <p> 元素
$("p").not(".intro"); //返回所有不带有类名为 "intro" 的 <p> 元素


11.jQuery的AJAX
1)load()方法:
$(selector).load(URL,data,callback); //load方法:从服务器加载数据,并把返回的数据放入被选元素中
必需的 URL 参数规定您希望加载的 URL。
可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。
可选的 callback 参数是 load() 方法完成后所执行的函数名称。

实例:
$("#div1").load("demo_test.txt"); //把文件 "demo_test.txt" 的内容加载到指定的 <div> 元素中
$("#div1").load("demo_test.txt #p1"); //把 "demo_test.txt" 文件中 id="p1" 的元素的内容,加载到指定的 <div> 元素中

callback函数的参数:
可以是:
responseTxt - 包含调用成功时的结果内容
statusTXT - 包含调用的状态
xhr - 包含 XMLHttpRequest 对象
实例:
$("button").click(function(){
 $("#div1").load("demo_test.txt",function(responseTxt,statusTxt,xhr){
if(statusTxt=="success")
 alert("外部内容加载成功!");
if(statusTxt=="error")
 alert("Error: "+xhr.status+": "+xhr.statusText);
 });
});


2)get()和post()方法
HTTP请求:
GET - 从指定的资源请求数据 (查看)
POST - 向指定的资源提交要处理的数据 (修改)
更多对比:http://www.w3school.com.cn/tags/html_ref_httpmethods.asp

语法:
$.get(URL,callback); //通过 HTTP GET 请求从服务器上请求数据
必需的 URL 参数规定您希望请求的 URL。
可选的 callback 参数是请求成功后所执行的函数名。
$.post(URL,data,callback); //通过 HTTP POST 请求从服务器上请求数据
必需的 URL 参数规定您希望请求的 URL。
可选的 data 参数规定连同请求发送的数据。
可选的 callback 参数是请求成功后所执行的函数名。



实例:
//使用 $.get() 方法从服务器上的一个文件中取回数据
$("button").click(function(){
 $.get("demo_test.asp",function(data,status){
alert("Data: " + data + "\nStatus: " + status);
 });
});
($.get() 的第一个参数是我们希望请求的 URL("demo_test.asp")。
第二个参数是回调函数。第一个回调参数存有被请求页面的内容,第二个回调参数存有请求的状态。)


//使用 $.post() 连同请求一起发送数据
$("button").click(function(){
 $.post("demo_test_post.asp",
 {
name:"Donald Duck",
city:"Duckburg"
 },
 function(data,status){
alert("Data: " + data + "\nStatus: " + status);
 });
});
($.post() 的第一个参数是我们希望请求的 URL ("demo_test_post.asp")。
然后我们连同请求(name 和 city)一起发送数据。
"demo_test_post.asp" 中的 ASP 脚本读取这些参数,对它们进行处理,然后返回结果。
第三个参数是回调函数。第一个回调参数存有被请求页面的内容,而第二个参数存有请求的状态。)





内容概要:该PPT详细介绍了企业架构设计的方法论,涵盖业务架构、数据架构、应用架构和技术架构四大核心模块。首先分析了企业架构现状,包括业务、数据、应用和技术四大架构的内容和关系,明确了企业架构设计的重要性。接着,阐述了新版企业架构总体框架(CSG-EAF 2.0)的形成过程,强调其融合了传统架构设计(TOGAF)和领域驱动设计(DDD)的优势,以适应数字化转型需求。业务架构部分通过梳理企业级和专业级价值流,细化业务能力、流程和对象,确保业务战略的有效落地。数据架构部分则遵循五大原则,确保数据的准确、一致和高效使用。应用架构方面,提出了分层解耦和服务化的设计原则,以提高灵活性和响应速度。最后,技术架构部分围绕技术框架、组件、平台和部署节点进行了详细设计,确保技术架构的稳定性和扩展性。 适合人群:适用于具有一定企业架构设计经验的IT架构师、项目经理和业务分析师,特别是那些希望深入了解如何将企业架构设计与数字化转型相结合的专业人士。 使用场景及目标:①帮助企业和组织梳理业务流程,优化业务能力,实现战略目标;②指导数据管理和应用开发,确保数据的一致性和应用的高效性;③为技术选型和系统部署提供科学依据,确保技术架构的稳定性和扩展性。 阅读建议:此资源内容详尽,涵盖企业架构设计的各个方面。建议读者在学习过程中,结合实际案例进行理解和实践,重点关注各架构模块之间的关联和协同,以便更好地应用于实际工作中。
资 源 简 介 独立分量分析(Independent Component Analysis,简称ICA)是近二十年来逐渐发展起来的一种盲信号分离方法。它是一种统计方法,其目的是从由传感器收集到的混合信号中分离相互独立的源信号,使得这些分离出来的源信号之间尽可能独立。它在语音识别、电信和医学信号处理等信号处理方面有着广泛的应用,目前已成为盲信号处理,人工神经网络等研究领域中的一个研究热点。本文简要的阐述了ICA的发展、应用和现状,详细地论述了ICA的原理及实现过程,系统地介绍了目前几种主要ICA算法以及它们之间的内在联系, 详 情 说 明 独立分量分析(Independent Component Analysis,简称ICA)是近二十年来逐渐发展起来的一种盲信号分离方法。它是一种统计方法,其目的是从由传感器收集到的混合信号中分离相互独立的源信号,使得这些分离出来的源信号之间尽可能独立。它在语音识别、电信和医学信号处理等信号处理方面有着广泛的应用,目前已成为盲信号处理,人工神经网络等研究领域中的一个研究热点。 本文简要的阐述了ICA的发展、应用和现状,详细地论述了ICA的原理及实现过程,系统地介绍了目前几种主要ICA算法以及它们之间的内在联系,在此基础上重点分析了一种快速ICA实现算法一FastICA。物质的非线性荧光谱信号可以看成是由多个相互独立的源信号组合成的混合信号,而这些独立的源信号可以看成是光谱的特征信号。为了更好的了解光谱信号的特征,本文利用独立分量分析的思想和方法,提出了利用FastICA算法提取光谱信号的特征的方案,并进行了详细的仿真实验。 此外,我们还进行了进一步的研究,探索了其他可能的ICA应用领域,如音乐信号处理、图像处理以及金融数据分析等。通过在这些领域中的实验和应用,我们发现ICA在提取信号特征、降噪和信号分离等方面具有广泛的潜力和应用前景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值