JS轻量级框架:jQuery
来源:互联网 发布:bl漫画软件 编辑:程序博客网 时间:2024/05/16 17:20
jQuery
Query是一个JavaScript框架,封装JavaScript常用的功能代码,提供一种简便的
JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery对象
jQuery开发中所遇到的对象
- 通过$所获得的是jQuery对象
选择器: $("p")强转: $(p)创建对象: $("")
- 修改数据的方法返回jQuery对象
obj.html("abc")obj.attr("src","")
- 若查询到的是元素则返回jQuery对象
obj.parent()obj.next()
- 若读取到的是文本则返回DOM对象
obj.html()obj.val()
- 万能的判断方式
控制台输出此对象,若是数组则是jQuery对象
jQuery选择器(查询节点)
jQuery选择器类似于CSS选择,能够实现定位元素,施加行为使用选择器能够将内容与行为分离
基本选择器
- 元素选择器:依据标签名定位元素
$(“标签名”) - 类选择器:根据class属性定位元素
$(“.class属性名”) - id选择器:根据id属性定位元素
$(“#id”) - 选择器组:通过一组属性定位元素
$(“#id, .class属性名”) - 层次选择器
- $(“select1 select2”)
在select1元素下,选中所有满足select2的子孙元素 - $(“select1 > select2”)
在select1元素下,选中所有满足select2的子元素 - $(“select1 + select2”)
选中 select1元素的,满足select2的下一个弟弟 - $(“select1 ~ select2”)
选中 select1元素的,满足select2的所有弟弟
- $(“select1 select2”)
过滤选择器
- 基本过滤选择器
- 根据元素的基本特征定位元素,常用于表格和列表
: first,:last:$(“tr:first”)
:not(selector):把满足selector的元素排除在外
:even:挑选偶数行
:odd:挑选奇数行
:eq(index):下标等于index的元素
:gt(index):下标大于index的元素
:lt(index):下标小于index 的元素
- 根据元素的基本特征定位元素,常用于表格和列表
- 内容过滤选择器
- 根据文本内容定位元素
:contains(text):选中包含给定文本的元素
:empty:选中所有不包含子元素或文本的空元素
$(“p:contains(‘月饼’)”) - 可见性过滤选择器
根据可见性定位元素
:hidden:选中所有不可见元素,或type为hidden的元素
:visible:选中所有可见元素
$(“input:hidden”)
- 根据文本内容定位元素
- 属性过滤选择器
根据属性定位元素
[attribute]:选中具有attribute属性的元素
[attribute=value]:选中属性等于value的元素
[attribute!=value]:选中属性不等于value的元素
$(“input[value=’点击’]”) 状态过滤选择器
根据状态定位元素
:enabled:选中可用的元素
:disabled:选中不可用的元素
:checked:选中被选中的checkbox
:selected:选中被选中的option
$(“input:selected”)表单选择器
:text,:password,:radio,:checkbox
:submit,:reset,:button
:file,:hidden
示例:$(“:text”)
读写节点
$(function(){ //html() == innerHTML console.log($("p:eq(0)").html()); $("p:eq(0)").html("jQuery支持<u>读写</u>节点"); //text() == innerText console.log($("p:eq(1)").text()); $("p:eq(1)").text("jQuery支持<u>增删</u>节点"); //val() == value console.log($(":text:first").val()); $(":text:first").val("How are you"); //attr() == getAttribute(),setAttribute() console.log($("img:first").attr("src")); $("img:first").attr("src","../images/02.jpg"); });
增删节点
//创建节点var li = $("<li>天津</li>");//插入DOMparent.append(li);$("ul").prepend(li);$("#gz").after(li);brother.before(obj);//删除DOM $("#gz").remove();obj.remove(selector);obj.empty();
节点遍历
obj.children();//所有孩子obj.next();//下一个兄弟obj.prv();//上一个兄弟obj.siblings();//所有兄弟obj.findSelector();obj.parent();
jQuery样式操作
$(function(){ $("p").addClass("big").addClass("important"); $("p").removeClass("big").removeClass("important"); console.log($("p").hasClass("big")); setInterval(function(){ $("p").toggleClass("big"); },200); }); hasClass(); css("");//读取css值 /css("","")//设置多个样式
jQuery事件
- 动态绑定
$(fn)
和window.onload
onload写多次则后者会覆盖前者,而(fn)写多次都有效.onload在整个网页加载完触发,而 (fn)是在标签加载完就触发.
bind
obj.bind(“click”,function(){})
obj.click(function(){}) - 获取事件源
e.target() - 取消冒泡
e.stopPropagation() - 合成事件
$(function(){ //给图片绑定悬停事件 $("img").hover( function(){ $(this).addClass("big"); //toggleClass("big") //width(250) //css("width","250px") //attr("class","big") },//悬停时 function(){ $(this).removeClass("big"); } //离开时 ); //启动定时器 setInterval(function(){ //让图片在显示与隐藏间切换 $("img").toggle(); },500); });
- 模拟操作
$(function(){ //给按钮x绑定单击事件 $("#gg>input").click(function(){ $("#gg").slideUp(500); }); //推迟3秒 setTimeout(function(){ //对按钮x模拟单击事件,即 //让电脑自动点击一下按钮x $("#gg>input").trigger("click"); },3000); });
jQuery动画
- show() hide()
- slideDown() slideUp()
- fadeIn() fadeOut()
上述函数都有两个参数(执行时间,回调函数) - 自定义动画
- animate(偏移位置,执行时间,回调函数)
<style> #d1 { width: 200px; height: 200px; background-color: red; /*自定义动画基于定位(相对/绝对/固定)*/ position: relative; } #d2 { width: 200px; height: 400px; background-color: blue; position: fixed; top: 100px; right: -150px; }</style><script src="../js/jquery-1.11.1.js"></script><script> function f1() { $("#d1").show(3000); } function f2() { //参数2是一个函数,jQuery会在动画完成后自动调用它. //像这样的,需要传递给方法并且由方法自动调用的函数, //通常称之为回调函数. $("#d1").hide(3000,function(){ console.log("OVER"); }); //动画的实现原理: //通过定时器不断修改元素的样式(大小及透明度). //当前方法f2相当于主线程,调用的hide方法, //相当于启动了定时器,即相当于启动了支线程. //主线程和支线程并发执行,所以主线程立刻输出"完成", //而动画却在3秒后才完成. console.log("完成"); } $(function(){ //给d1绑定悬停事件 $("#d1").hover( function(){ $(this).animate({"left":"20px"},500);//自定义动画 }, function(){ $(this).animate({"left":"0"},500); } ); //给d2绑定悬停事件 $("#d2").hover( function(){ $(this).animate({"right":0},500); }, function(){ $(this).animate({"right":"-150px"},500); } ); });</script>
- 显示、隐藏的动画效果
通过同时改变元素的宽度和高度来实现显示或隐藏元素- 语法
(selector).hide(speed,callack) (selector).show(speed, callback) - 参数
speed:可选。规定隐藏/显示的速度,取值为:”slow”, “fast”或毫秒
callback:可选。是隐藏/显示完成后所执行的函数名称
对象隐藏后会释放所占有的空间
- 语法
- 上下滑动式动画效果
通过改变高度来实现显示或隐藏元素。图像元素与其他元素效果稍有不同- $(selector).slideUp(speed, callback)
对象向上滑动,对象折叠,隐藏对象 - $(selector).slideDown(speed, callback)
对象向下滑动,对象展开,显示对象 - $(selector).slideToggle(speed, callback)
交替执行以上两个方法
参数同以上所释相同
- $(selector).slideUp(speed, callback)
- 淡入淡出式动画效果
通过改变不透明度opacity来实现显示或隐藏元素- $(selector).fadeIn(speed, callback)
显示元素 - $(selector).fadeOut(speed, callback)
隐藏元素 - $(selector).fadeToggle(speed, callback)
交替执行以上两个方法 - $(selector).fadeTo(speed, opacity, callback)
参数callback同以上相同
speed此处是必需的
opacity必需。将淡入淡出效果设置为给定的不透明度(值介于0与1之间)
- $(selector).fadeIn(speed, callback)
- 自定义动画效果(animate)
语法- $(selector).animate({params}, speed, callback);
参数
params定义形成动画的CSS属性采用直接量创建对象体现speed, callback同上 - 操作单个属性
示例:$(“#div1”).animate({left:’250px’});
由于元素默认是静态的,如想要移动元素,需将其position属性设置为relative,fixed或absolute
不管写几个animate,都是相对于原始位置的偏移
- $(selector).animate({params}, speed, callback);
小知识点
<!-- readonly:只读,框内的值依然能提交给服务器. disabled:禁用,框内的值无法提交给服务器. --><p> 账号:<input type="text" disabled/></p>
阅读全文
0 0
- JS轻量级框架:jQuery
- js的轻量级框架Jquery里的ajax详解
- 超轻量级异步JS框架
- 推荐使用轻量级ajax框架-jQuery
- 轻量级jQuery富文本编辑器 wysiwyg.js
- 轻量级web框架node.js和bottle
- Mac 安装Node.js Express轻量级框架
- 一个轻量级的JS框架 Liger UI框架
- 轻量级框架
- jquery框架JS扫雷
- 轻量级的jQuery表单验证插件 - HAPPY.js
- 一款类似Ext的轻量级实现UI的JS框架
- zepto.js - 轻量级的移动开发JavaScript框架
- Nodeway--基于node.js的轻量级前后端分离框架
- Node.js轻量级Web框架Express4.x使用指南
- Nodeway--基于node.js的轻量级前后端分离框架
- js模拟jquery 框架思想
- JS/JQuery 代码、框架收藏
- Kafka自定义序列化于反
- android studio 汉化 美化 插件
- 类型转换问题(持续更新)
- 数据库事务隔离级别
- TPshop学习(8)微信支付
- JS轻量级框架:jQuery
- WebService 一 (使用JDK实现WebService)
- 前端面试题
- Vue学习笔记五
- c++中提取string中字符的方法
- 【面经笔记】装载,CRT
- Linux下导出db2数据库还原到windows下
- 比赛2 总结
- Android7.0 头像 拍照、照片裁剪