jquery笔记整理

时间:2022-09-18 15:29:22

01-jquery简介

1)功能:
     ·html元素选取
     ·Html元素操作
     ·Css操作
     ·Html事件函数
     ·JavaScript特效和动画
     ·DOM的遍历及修改
     ·AJAX
     ·Utilities
     ·插件

2)版本支持
     ·jquery2 及以上不支持IE6,7,8
     ·使用注释:
     ·<!--[if lt IE 9]>
     ·<script src="Script/jquery-1.9.0.js"></script>
     ·<![endif]-->
     ·<!--[if gte IE 9]><!-->
     ·<script src="Script/jquery-2.0.0.js"></script>
     ·<!--<![endif]-->

3)版本
     ·Production version:实际网站,压缩版
     ·Development Version:测试和开发,未压缩

4)引用:
     文件类型:xxx.js
     ·<script src="xxx.js"></script>
     ·CDN(内容分发网络)引用
     ·<script src="//libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
     --CDN:
         https://baike.baidu.com/item/CDN/420951?fr=aladdin
     常用CDN引用:
     1、谷歌
     <script src="http://ajax.googleapis.com/ajax/1ibs/jquery/1.10.2/jquery.min.js">
     </script>
     2、微软
     <script src="http://ajax.Microsoft.com/ajax/jquery/jquery/1.10.2/jquery.min.js">
     </script>
     使用百度、又拍云、新浪、谷敌或微软的jQuery,有一个很大的优势:
     许多用户在访问其他站点时,已经从百度、又拍云、新浪、谷歌或微软加载过 jQuery。
     所有结果是,当他们访问您的站点时,会从缓存中加载jQuery,这样可以减少加载时间。
     同时,大多数CDN都可以确保当用户向其请求文件时,会从离用户最近的服务器上返回响应,
     这样也可以提高加载速度。

02-jquery语法

1)步骤:

$(selector).action();
     ·$:jquery
     ·查询:selector
     ·操作: action

2)选择器:Xpath(xml中的查询信息的语言)+CSS
     $(this).hide();
     $("p").hide();
     $("p.test").hide();
     $("#test").hide();

3)文档就绪事件:

//文档加载完执行方法
     $(document).ready(function(){
    
     });
     $(function(){
     });

03-jquery选择器

1)HTML
     1、元素
     2、id
     3、class

2)CSS
     $("p").css("background","red");

3)more
     $("*")        --选取所有元素
     $(this)        --选取当前htnl元素
     $("p.td")    --选取class为td的p元素
     $("p:first")--选取第一个p元素
     $("ul li:first")--选取第一个ul li元素   
     $("ul li:first-child")选取每个ul的第一个li元素
     $("[href]")    --选取带有href属性的元素
     $("a[target='_blank']")--选取所有target属性为"_blank"的a元素
     $("a[target!='_blank']")--选取所有target属性不为"_blank"的a元素
     $(":button")--选取所有type="button"的input元素和button元素
     $("tr:even")--选取偶数位置的tr元素
     $("tr:odd")--选取奇数位置的tr元素

4)独立文件内引用jquery函数

04-jquery事件

1)dom事件对应的Jquery事件

2)常见事件:

鼠标事件            键盘事件            表单事件            文档/窗口事件

click            keypress        submit            load

dblclick        keydown            change            resize

mouseenter        keyup            focus            scroll

mouseleave        blur                            unload

3)比较keypress、keydown与keyup

·keydown:    在键盘上按下某键时发生,一直按着则会不断触发(opera浏览器除外),它返回的是键盘代码;

·keypress:    在键盘上按下一个按键,并产生一个字符时发生,返回ASCII码。
             注意:shift、alt、ctrl等键按下并不会产生字符,所以监听无效,
             换句话说,只有按下能在屏幕上输出字符的按键时keypress事件才会触发。若一直按着某按键则会不断触发。

·keyup:        用户松开某一个按键时触发,与keydown相对,返回键盘代码。

05-jquery效果-01隐藏显示及切换

1)隐藏和显示,切换

$(selector).hide(speed,callback);

$(selector).show(speed,callback);

$(selector).toggle(speed,callback);

//$(selector)选中的元素为n,callback执行n次

//callback可以是函数名,也可以是匿名函数

//callback函数名后加括号,函数会立即执行,而不是完成显示隐藏后执行

可选参数speed为显示速度

取值:slow,fast,毫秒

可选参数callback是隐藏或显示或切换后执行的函数名称

例:$("p").hide(1000,function(){
     $(p).show();
     });

05-jquery效果-02淡入淡出

1)淡入淡出函数
     ·fadeIn()--淡入
     ·fadeOut()--淡出
     ·fadeToggle()--如果淡入,则淡出,反之。
     ·fadeTo()

$(selector).fadeIn(speed,callback);

$(selector).fadeOut(speed,callback);

$(selector).fadeToggle(speed,callback);

$(selector).fadeTo(speed,opacity,callback);--speed,opacity为必选参数

05-jquery效果-03滑动

1)滑动函数

slideDown()

slideUp()

slideToggle()

$(selector).slideDown(speed,callback);

$(selector).slideUp(speed,callback);

$(selector).slideToggle(speed,callback);--在slideUp,slideDown之间切换

--没有注明都为可选参数

05-jquery效果-04动画

1)animate简介

--用于创建自定义动画

--语法:

$(selector).animate({params},speed,callback);

--params为必选参数,定义了形成动画的CSS属性

$(selector).animate({styles,speed,easing,callback);

--easing为内置函数
     取值:swing,liner

$(selector).animate(styles,options);

--options为规定动画的额外选项

可能的值:

·speed-设置动画的速度

·easing-规定要使用的easing 函数

·callback-规定动画完成之后要执行的函数·step-规定动画的每一步完成之后要执行的函数

·queue-布尔值。指示是否在效果队列中放置动画。如果为false,则动画将立即开始

·specialEasing-来自styles参数的一个或多个CSS属性的映射,以及它们的对应 easing函数

//默认情况下html都有一个静态的位置,设置位置时要相对于CSS设置,如设置子属性

//父级relative,子absolute

//params可以为多个属性,逗号隔开

--animate可以所有的css属性,必须使用Camel命名属性名,如paddingLeft,marginLeft

--如果要生成颜色动画,jquery提供了Color Animations插件

--只有数字值可创建动画(margin:30px),字符串无法创建动画(background:red)

2)animate()使用相对值

+=,-=   --创建相对动画,相对于元素的当前值改变

例:

<script>

$(document).ready(function(){
   $("button").click(function(){
     $("div").animate({
       left:'250px',
       height:'+=150px',
       width:'+=150px'
     });
   });

});

</script>

3)animate()使用预定义的值

show,hide,toggle

例:

<script>

$(document).ready(function(){
   $("button").click(function(){
     $("div").animate({
       height:'toggle'
     });
   });

});

</script>

4)animate()使用队列功能

例:

<script>

$(document).ready(function(){
   $("button").click(function(){
     var div=$("div");
     div.animate({height:'300px',opacity:'0.4'});
     div.animate({width:'300px',opacity:'0.8'});
     div.animate({height:'100px',opacity:'0.4'});
     div.animate({width:'100px',opacity:'0.8'});
   });

});

</script>

05-jquery效果-05停止动画

1)stop()

语法:

$(selector).stop(stopAll,goToEnd);

--可选参数stopAll规定是否清除动画队列,默认为false

--可选参数goToEnd规定是否立即完成当前动画,默认为false

--

05-jquery效果-06callback方法

1)

callback函数在当前动画完成后执行。

//JavaScript代码是逐条执行的通过传参执行函数可以避免动画

//效果冲突。

例:

有回调函数

<script>

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

});

</script>

无回调函数

<script>

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

});

</script>

05-jquery效果-07Chaining方法

1)chaining方法

--允许我们一条语句中执行多个jquery方法(相同元素上)

--jquery方法链接

--即将多个动作函数链接起来执行

例:

<script>

$(document).ready(function()
   {
   $("button").click(function(){
     $("#p1").css("color","red").slideUp(2000).slideDown(2000);
   });

});

</script>

书写格式:(厉害!!!)

//jquery会舍弃多余的空格,当成一句去执行

<script>

$(document).ready(function()
   {
   $("button").click(function(){
     $("#p1").css("color","red")
       .slideUp(2000)
       .slideDown(2000);
   });

});

</script>