Jquery
JQuery介绍与下载组件
是一个写的更少,但做的更多的轻量级js库。
www.Jquery.com
压缩版的jquery:只有一行代码。删除了空格和换行。
还有一个未压缩的jquery。
<script type="text/javascript" src="jquery-1.5.1.js"></script>
JQuery的引入与$的作用
JQ中使用$来调用相关对象和DOM元素。
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
</script>
JQuery基础语法
基础语法:$(selector).action()
$符号定义jquery
选择符(selector) html元素
jquery的action()执行对元素的操作
例:
$(this).hide() 隐藏当前元素 this是内置的对象
$("p").hide() 隐藏所有的<p>
$(".test").hide() 隐藏所有class="test" 段落
$("#test").hide() 隐藏所有id="test"的元素
$(document).ready(function(){
});//html 代码加载完毕之后即可执行,避免拖拉感。
一个网页允许多次执行
简写 $();
window.onload//网页全部加载完毕后执行,一个网页只能允许多次执行。
简写:()
所有的触发事件都写在jquery里面。
onchick= $("button").click(function(){})
class 的值可以相等。而id值必须唯一。
这样就可以使用更少的代码来完成更多的功能。
============================================
php100:105:Jquery(四)
选择器的各种用法:
$(this) 当前元素
$("p") 所有<p>元素
$("input") 所有input元素
$(".intro") 所有 class=“intro” 的元素
$("p.intro") 所有 class="intro" 的<p>元素
$("#intro") id="intro" 的第一个元素
$("ul > li") ul下的所有li节点,大于号代表指向
$("ul li:first") 每个 <ul> 的第一个 <li> 元素
$("[href$='.jpg']") 所有带有以 ".jpg" 结尾的 href 属性的属性
$("div#intro .head") id="intro"<div> 元素中的所有 class="head" 的元素
$(li[a:contains('Register')]") 内容包含Register的<a>元素
$("input[@name=bar]") name是bar的<input>元素
$("input[@type=radio][@checked]") type是radio的<input>元素
$("li").not("ul") li下没有包含ul节点的节点元素
$("span[@id]") 包含id属性的<span>元素
$("[@id=span1]") id为span1的节点元素
**********
JQuery事件器的用法:
$(元素). 事件( 事件属性);
$(selector).click() 被选元素的点击事件
$(selector).dblclick() 被选元素的双击事件
$(selector).focus() 被选元素的获得焦点事件
$(selector).mouseover() 被选元素的鼠标悬停事件
$(selector).css(); 被选元素的CSS事件
$(selector). hide(); 被选元素的隐藏事件
$(selector). show('slow'); 被选元素的显示事件
DOM节点操作:
$(“a”).addClass(“red”) 为所有<a>增加class=”red”
$(“a”).removeClass(“red”) 为所有<a>去掉class=”red”
$(“li”).append(“BB!”) 为<li>增加”BB!”innerHTML
执行事件
//hover是在执行完第一个函数后再执行第二个
$(“p”).hover(function(){
$(this).addClass("hover");
},function(){
$(this).removeClass("hover");
});
//toggle第一次点击执行第一个函数,再点击执行第二个
$(“p”).toggle(function(){
$(this).addClass("selected");
},function(){
$(this).removeClass("selected");
});
备注:hide隐藏 hide('slow') 慢慢隐藏
show 显示 show('slow')
css("color","red")
<ul>
<li id=""></li>
</ul>
============================================
php100:106:Jquery(五)
JQuery 之各类动画效果的实现
隐藏显示、切换与滑动 、淡入淡出和动画
$(selector).hide(speed,callback) //隐藏,callback更多的方法与功能。
$(selector).show(speed,callback) //显示speed 参数可以设置这些值 "slow", "fast", "normal" 或 milliseconds:
例子:
$(document).ready(function(){
$("button").click(function(){
$("p").hide(1000,function(){
$("p").show(1000);
});
});
});
切换与滑动
$(selector).toggle(speed,callback) //切换功能
toggle() 函数使用 show() 或 hide() 函数来切换 HTML 元素,同一个按钮可以 点击两次,实现隐藏和显示的效果,其实某些特定用途可以代替他们
$(selector).slideDown(speed,callback) //向下滑动,并显示遮挡$(selector).slideUp(speed,callback) //向上滑动,并隐藏遮挡
$(selector). slideToggle(speed,callback) //上下滑动,实现切换
淡入淡出和动画
$(selector). fadeOut(speed,callback) //变淡至空
$(selector). fadeIn(speed,callback) //变亮至全部
$(selector). fadeTo(speed,opacity,callback) //变淡至指定效果
亮度在1.0和2.0之间
$(selector).animate({params},duration,easing,callback) //动画
params:变化后的CSS效果,如:{height:"300",width:"50"}
duration:变化速度用毫秒
easing:变化效果的名称(需要插件)
============================================
php100:106:Jquery(六)
JQuery 之 Ajax 开发详解
jQuery.ajax(options)
jQuery 库拥有完整的 Ajax 兼容套件,所以我们再也不用整天为考虑浏览
是否兼容ajax问题头疼。
url 发送请求的地址。默认是本地
type 请求方式 ("POST" 或 "GET")默认是get
timeout 设置请求超时时间(毫秒)。
async (默认: true) 异步请求。
Data 发送的参数可以是json类型
dataType 返回的数据类型:xml,html,json,txt
success 成功后可以返回function(data,st){}
$.ajax({
type: "GET",
url: "php.php",
data: { PHP: "100", Name: "Jquery" },
success:function(data, st){
$("div#asd").html(data);
}
});
<div id="asd"><h2>PHP100视频教程,通过 AJAX 调用内容</h2></div>
jQuery.get(url,data,callback,type)
jQuery.post(url,data,callback,type)
url 待载入页面的 URL 地址。
data 待发送 Key / value 参数。
callback 载入成功时回调函数。
type 返回内容格式,xml, html, script, json, text, _default。
$.ajax({ type: 'POST', url: url, data: data, success: success, dataType: txt});
jQuery (selector).load(url,data,callback)
$(document).ready(function(){
$(“button").click(function(){
$('Div').load(‘php100.php‘,{name:’123’},function(){});
});
});
===========================================================================
php100:110:Jquery案例 之 双下拉框内容移动
$(content).appendTo(selector)
appendTo() 方法在被选元素的结尾(仍然在内部)插入指定内容。
$("button").click(function(){
$("<b>Hello World!</b>").appendTo("p");
});
dblclick() / click()
$(selector).click(function)
click() 方法触发 click 事件,或规定当发生 click 事件时运行的函数
$("#add").click(function(){
$("#select option:selected").appendto("#select2");
});
$("#add_all").click(function(){
$("#select option").appendto("#select2");
});
$("#select1").dbclick(function(){
$("#select option:selected").appendto("#select2");
});
===========================================================================
php100:111:Jquery案例 之 Jquery案例 之 复选框与各行换色
$(selector).addClass(class)
$(selector).removeClass(class)
$(selector).hasClass(class)
find() 再次定位或查找指定元素(含)
.find(class)
attr() 方法设置或返回被选元素的属性值。
$(selector).attr(attribute)
$(selector).attr(attribute,value)
$(selector).attr(attribute,function(index,oldvalue))
冒号: 在JQuery用法
jquery中的'.'号表示class
jquery中的'#'表示id
:在css中代表伪选择符,但是在jQuery,这里就是固定用法,如:
:input
:text
:password
:radio
:checkbox
:submit
:image
:reset
:button
:file
:hidden
:first
:last
:not
:even
:odd
:eq
:gt
:lt
:header
:animated
:contains
:empty
:has
:parent
:hidden
:visible
===========================================================================
php100:112:Jquery案例 之 Jquery案例 之 双击编辑异步更新
操作流程:
数据库查询列表--》增加技巧标记--》双击更改当前位置状态--》焦点离开抓取新内容修改当前位置,并执行post异步提交
1、将原始内容放入input
2、抓取必要标记:编号,字段,值
$(selector).html(content)
html() 函数改变所匹配HTML 元素的内容(innerHTML)。
$(selector)attr(attribute)
$(selector).parents(selector)
$(selector).live(event,data,function)
ive() 方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数
核心代码:
$("tbody>tr>td").dbclick(function(){
var inval=$(this).html();
var infd=$(this).attr("fd");
var inid=$(this).parents().attr("id");
$(this).html("<input id='edit'+infd+inid value='+inval+'>");
$("#edit"+infd+inid).focus().live("blur",function(){
var editval=$(this).val();
$(this).parents("td").html(editval);
$post("post.php",{id:inid,fd:infd,val:editval});
});
});
<tr id="">
<td fd="">sgs
post.php