jQuery效果、事件原理、插件

1. jQuery 事件

1.1 什么是事件

1、页面对不同访问者的响应叫做事件。

2、实例:在元素上移动鼠标、选取单选按钮、点击元素

1.2 事件语法

1. 单击事件

$("p").click(function(){

// 动作触发后执行的代码!!

});

2. 双击事件

 

$("p").dblclick(function(){

    $(this).hide();

})

3. 鼠标进入

 

$("#p1").mouseenter(function(){

alert('您的鼠标移到了 id="p1" 的元素上!');

});

4. 鼠标离开

 

$("#p1").mouseleave(function(){

alert("再见,您的鼠标离开了该段落。");

});

5. 获取焦点

$("input").focus(function(){

$(this).css("background-color","#cccccc");

});

6. 失去焦点 

$("input").blur(function(){

$(this).css("background-color","#ffffff");

});

2. jQuery css() 方法

2.1 jQuery css() 方法是什么

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

2.2 返回css属性

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

css("propertyname");

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

2.3 设置css属性

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

css("propertyname","value");

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

2.4 设置多个css属性

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

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

$("p").css({"background-color":"yellow","font-size":"200%"});

3. jQuery css 类

3.1 addClass()

向被选元素添加一个或多个类

.important { font-weight:bold; font-size:xx-large; } 
.blue { color:blue; }
$("button").click(function(){ 
$("h1,p").addClass("blue");
 	$("div").addClass("important"); 
});

3.2 remove Class()

 从被选元素删除一个或多个类

$("button").click(function(){ $("h1,h2,p").removeClass("blue"); });

3.3 toggleClass()

对被选元素进行添加/删除类的切换操作

$("button").click(function(){ $("h1,h2,p").toggleClass("blue"); });

3.4 eq()

方法返回带有被选元素的指定索引号的元素,索引号从 0 开头,所以第一个元素的索引号是 0(不是 1)。

$(selector).eq(index)

3.5 index()

 index() 方法返回指定元素相对于其他同级元素的 index 位置。

$("li").click(function(){
  alert($(this).index());
});

3.6 not() 

$("input").not(".in1")

4.  jQuery 动画

4.1  jQuery隐藏显示

可以使用 hide() show() 方法来隐藏和显示 HTML 元素。

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

4.2  jQuery淡入淡出

fadeIn() 用于淡入已隐藏的元素, fadeOut() 方法用于淡出可见元素。

$("button").click(function(){
  $("#div1").fadeIn(); 
$("#div2").fadeIn("slow"); 
$("#div3").fadeOut(3000); 
});

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

$("button").click(function(){ ("#div2").fadeToggle("fast");});

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

$("button").click(function(){ $("#div1").fadeTo("slow",0.15);});

4.3  jQuery滑动

 slideDown() 方法用于向下滑动元素, slideUp() 方法用于向上滑动元素。

$("#flip").click(function(){ $("#div1").slideDown(); $("#div1").slideUp();});

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

$("#flip").click(function(){ $("#panel").slideToggle(); });

4.4  jQuery 自定义动画

animate() 方法用于创建自定义动画。可选的 speed 参数规定效果的时长。它可以取以下值:"slow""fast" 或毫秒。可选的 callback 参数是动画完成后所执行的函数名称。

$("button").click(function(){ 
$("div").animate({ 
left:'250px', opacity:'0.5', height:'150px', width:'150px'
 }); });

4.5  stop 方法

jQuery stop() 方法用于停止动画或效果,在它们完成之前,适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。

$("#stop").click(function(){ $("#panel").stop(); });

4.6  回调函数

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

$("button").click(function(){ 
$("p").hide("slow",function(){ 
alert("段落现在被隐藏了"); 
}); });

5. jQuery 事件机制

5.1 注册事件

bind() on() 方法向被选元素添加一个或多个事件处理程序,以及当事件发生时运行的函数。

$("p").bind("click",function(){
         alert("这个段落被点击了。");
}"dbClick",function(){
         alert("这个段落被双击了。");
});
 $("p").on("click",function(){ alert("段落被点击了。"); }); 

5.2 委托事件

delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数

$("div").delegate("p","click",function(){
    $("p").css("background-color","pink");
});

5.3 事件对象 event

event对象有以下属性

type:事件类型,比如click

which:触发该事件的鼠标按钮或键盘的键。

target:事件发生的初始对象。

data:传入事件对象的数据。

pageX:事件发生时,鼠标位置的水平坐标(相对于页面左上角)。

pageY:事件发生时,鼠标位置的垂直坐标(相对于页面左上角)。

$("button").click(function(event){ 
          console.log(evet);
 	});

5.4 each() 方法

each() 方法为每个匹配元素规定要运行的函数。

$("button").click(function(){ 
$("li").each(function(){ 
alert($(this).text()) 
});  
});

6. jQuery 和HTML 的设置与捕获

jQuery 中非常重要的部分,就是操作 DOM 的能力。

jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。

6.1 html()

html() - 设置或返回所选元素的内容(包括 HTML 标记)。

$("#btn2").click(function(){
 alert("HTML: " + $("#test").html()); 
});
$("#btn2").click(function(){ 
$("#test2").html("<b>Hello world!</b>"); 
});

6.2 text()

text() - 设置或返回所选元素的文本内容

$("#btn1").click(function(){ 
alert("Text: " + $("#test").text()); 
});
$("#btn1").click(function(){ 
$("#test1").text("Hello world!"); 
});

6.3 val()

val() - 设置或返回表单字段的值

$("#btn1").click(function(){ 
alert("值为: " + $("#test").val()); 
});
$("#btn3").click(function(){ 
$("#test3").val("RUNOOB"); 
});

6.4 text()、html() 以及 val() 的回调函数

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

$("#btn1").click(function(){ 
$("#test1").text(function(i,origText){ 
return "旧文本: " + origText + " 新文本: Hello world! (index: " + i + ")";
}); 
});

6.5 attr() 、prop()

attr() prop()方法用于获取和返回属性值。

$("button").click(function(){ alert($("#runoob").attr("href")); });
$("button").click(function(){ $("#runoob").attr("href","http://www.runoob.com/jquery"); });

        具有 true false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr().attr不仅可以返回(设置)元素的原生属性,还可以返回(设置)自定义属性。

7. jQuery 对 HTML的页面尺寸操作

通过 jQuery,很容易处理元素和浏览器窗口的尺寸。

jQuery 尺寸:

 

7.1 width() 和 height() 方法

width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。

height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。

$("button").click(function(){
"div 的宽度是: " + $("#div1").width() + "</br>";
    "div 的高度是: " + $("#div1").height(20); 
});

7.2 innerWidth 和 innerHeright() 方法

innerWidth() 方法返回元素的宽度(包括内边距)。

innerHeight() 方法返回元素的高度(包括内边距)。

$("button").click(function(){
"div 宽度,包含内边距: " + $("#div1").innerWidth();
"div 高度,包含内边距: " + $("#div1").innerHeight(); 
});

7.3 outherWidth() 和 outerHeight() 方法

outerWidth() 方法返回元素的宽度(包括内边距和边框)。

outerHeight() 方法返回元素的高度(包括内边距和边框)。

$("button").click(function(){ 
txt+="div 宽度,包含内边距和边框: " + $("#div1").outerWidth() 
 		txt+="div 高度,包含内边距和边框: " + $("#div1").outerHeight();
 	});

7.4 scrollTop() 和 scrollLeft() 方法

scrollTop() 方法设置或者返回滚动条被卷去的元素的高度

scrollLeft() 方法设置或者返回滚动条被卷去的元素的宽度

$("button").click(function(){ alert($("div").scrollTop()); });

8. jQuery 添加元素和删除元素

8.1 append() 方法

 append() 方法在被选元素的结尾插入内容(仍然在该元素的内部)  

$("ol").append("<li>追加列表项</li>");

8.2 prepend() 方法

 prepend() 方法在被选元素的开头插入内容。

$("ol").prepend("<li>追加列表项</li>");

8.3 after() 和 before() 方法

jQuery after() 方法在被选元素之后插入内容。

jQuery before() 方法在被选元素之前插入内容。

$("img").before("<b>之前</b>");
$("img").after("<i>之后</i>");

8.4 删除元素/内容

remove() - 删除被选元素(及其子元素)

empty() - 从被选元素中删除子元素

empty()仅仅删除元素的文本,占有位置,不显示在页面,但是DOM节点并没有删除

remove()把整个dom节点删除掉,,不占有位置

9. jQuery 插件的认识

9.1 插件

jquery不可能包含所有的功能,我们可以通过插件扩展jquery的功能。

jquery有着丰富的插件,使用这些插件能给jquery提供一些额外的功能。

10. jQuery.color.js的使用

10.1 引入js文件

jquery中的animate动画本身不支持变色,但是jquery.color.js弥补了这一缺陷。

.color.js 依赖于 jQuery. 所以需要先引用jqueryjs

<script src="jquery.min.js"></script>
<script src="jquery.color.js"></script>

10.2 示例

$("button").on("click", function () {

                $("div").animate({"width":200,"background-color":"red"},2000,                 function () {

                    alert("动画结束");

                });

            });

11. jquery.lazyload.js 的使用

11.1 引入js文件

        很多网站都会用到‘图片懒加载’这种方式对网站进行优化,即延迟加载图片或符合某些条件才开始加载图片。
         懒加载原理:浏览器会自动对页面中的img标签的src属性发送请求并下载图片。通过动态改变img的src属性实现。它可以延迟加载长页面中的图片在浏览器可视区域外,图片不会被载入,直到用户将页面滚动到它们所在的位置。
与图片预加载的处理方式相反,在包含很多大图片长页面中延迟加载图片可以加快页面加载速度,尤其是移动端。浏览器将会在加载可见图片之后即进入就绪状态,在淘宝商品详情页、漫画网站很多图片的情况下还可以帮助降低服务器负担

<script src="jquery.min.js"></script>
<script src="jquery.lazyload.js"></script>

11.2 示例 

<img alt="" width="640" height="480" data-original="img/test.jpg" />
$(function() {
		$("img").lazyload();
	});

12. jquery.ui.js 的使用

12.1 jQuery UI 是什么?

        jQuery UI 是建立在 jQuery JavaScript 库上的一组用户界面交互、特效、小部件及主题。无论您是创建高度交互的 Web 应用程序还是仅仅向窗体控件添加一个日期选择器,jQuery UI 都是一个完美的选择。

        jQuery UI 包含了许多维持状态的小部件(Widget),因此,它与典型的 jQuery 插件使用模式略有不同。所有的 jQuery UI 小部件(Widget)使用相同的模式,所以,只要您学会使用其中一个,您就知道如何使用其他的小部件(Widget)。

12.2 引入

下载zip包并解压,通常情况下,您需要在页面中引用这三个文件,以便使用 jQuery UI 的窗体小部件和交互部件:

<link rel="stylesheet" href="jquery-ui-1.12.1/jquery-ui.css" />
	<script src="js/jquery-1.11.1.min.js"></script>
	<script src="jquery-ui-1.12.1/jquery-ui.min.js"></script>

12.3 操作日期选择器

一旦您引用了这些必要的文件,您就能向您的页面添加一些 jQuery 小部件。比如,要制作一个日期选择器(datepicker)小部件,您需要向页面添加一个文本输入框,然后再调用 .datepicker(),如下所示:

<input type="text" name="date" id="date" />
	$( "#date" ).datepicker();

 

 

12.4 拖动

允许鼠标拖动元素,在任意的 DOM 元素上启用 draggable 功能。通过鼠标点击并在视区中拖动来移动 draggable 对象。

  $(function() {
    $( "#draggable" ).draggable();
  });

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Iiversse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值