002 JQuery (004 - 008)

[A] JQuery特效函数

                1. hover(funIn, funOut)

                      第一个参数:移入函数

                      第二个参数: 移出函数

                      示例:

                          $(function(){

                              $("#div1").hover(function(){

                                  $("#div1").css("backgroundColor", "red");

                              }, function(){

                                  $("#div1").css("backgroundColor", "pink");

                              });

                          })

                2. hide()       隐藏

                   show()      显示

                     示例:

                          $("#div1").hover(function(){

                              $("#div2").hide();

                          }, function(){

                              $("#div2").show();

                          });

                    

                      这两个函数可传参

                          第一个参数:动画持续的时间

                          第二个参数:回调函数,动画结束时调用

                          【注】动画效果:从左上角收起和展开

                      示例:

                          $("#div1").hover(function(){

                              $("#div2").hide(2000, function(){

                                  $("#div1").html("移入");

                              });

                          }, function(){

                              $("#div2").show(2000, function(){

                                  $("#div1").html("移出");

                              });

                          });

                3. 卷闸效果

                      slideDown()             卷下出现,可传参

                      slideUp()               卷起消失,可传参

                      这两个函数可传参

                          第一个参数:动画持续的时间

                          第二个参数:回调函数,动画结束时调用

                      示例:

                          $("#div1").hover(function(){

                              $("#div2").slideUp(2000, function(){

                                  $("#div1").html("移入");

                              });

                          }, function(){

                              $("#div2").slideDown(2000, function(){

                                  $("#div1").html("移出");

                              });

                          });

                

                4. 淡入淡出

                      fadeIn()            淡入,可传参

                      fadeOut()           淡出,可传参

                      这两个函数可传参

                          第一个参数:动画持续的时间

                          第二个参数:回调函数,动画结束时调用

                      示例:

                          $("#div1").hover(function(){

                              $("#div2").fadeOut(2000, function(){

                                  $("#div1").html("移入");

                              });

                          }, function(){

                              $("#div2").fadeIn(2000, function(){

                                  $("#div1").html("移出");

                              });

                          });

                    

                      fadeTo(时长, 透明度0~1, 回调函数)

                          示例:

                              $("#div1").hover(function(){

                                  $("#div2").fadeTo(2000, 0.3, function(){

                                      $("#div1").html("移入");

                                  });

                              }, function(){

                                  $("#div2").fadeTo(2000, 0.8, function(){

                                      $("#div1").html("移出");

                                  });

                              });

                5. 动画特效 animate

                      【格式】animate(属性对象, 持续时间, [速度特效], [回调函数])

                              第一个参数:属性对象,需要实现的结果

                              第二个参数:动画持续时间

                              第三个参数:动画速度特性

                                          "linear"    线性

                                          "swing"     慢快慢,默认值

                              第三个参数:回调函数,动画结束时调用

                      【注】运动特性拓展:

                              1. 引入jquery-ui模块,需先下载再使用

                              2. 查找想要的动画形式:

                                  https://www.jqueryui.org.cn/demo/5735.html

                              3. 将动画特效名,修改为指定名即可

                      示例:

                          $("#div1").hover(function(){

                              $("#div2").animate({

                                  width:400,

                                  height: 400,

                                  opacity: 0.5

                              }, 2000, function(){

                                  $("#div1").html("移入");

                              });

                          }, function(){

                              $("#div2").animate({

                                  width:100,

                                  height: 100,

                                  opacity: 0

                              }, 2000, function(){

                                  $("#div1").html("移出");

                              });

                          });     

                      【默认动画存在的问题】在一次动画还未结束时,快速多次触发该动画,动画会持续重复运动,知道完成所有触发

                            【解决】

                                  1. $("#div1").stop()        

                                          // 不传参,停止当前动画,但后续动画正常进行(若存在链式运动)

                                  2. $("#div1").stop(true)    

                                          // 传一个true,停止所有动画

                                  3. $("#div1").stop(true, true)

                                          // 传两个true,停止所有动画,并将当前动画直接达到目的值

                                  4. $("#div1").finish()

                                          // 停止所有动画,并且将所有动画都达到目的值

                              在每次调用animate()时都调用stop(true),停止掉之前的所有动画

                              示例:

                                  $("#div1").stop().animate() 

                                      // 添加动画前调用stop()方法

                6. 删除节点

                    remove()        删除节点,返回值为被删除的节点元素

                    detach()        删除节点,返回值为被删除的节点元素

                    【区别】1. remove()所删除的节点,不会保留节点上绑定的事件和行为

                                      当被删除的节点被获取到后重新添加,之前绑定的事件和行为消失了

                             2. detach()所删除的节点,会保留节点上绑定的事件和行为

                                      当被删除的节点被获取到后重新添加,之前绑定的事件和行为还在

                7. ready事件


                8. 标签间的内容       html()  相当于innerHTML

                    标签间纯文本       text()  相当于innerText

                   【注】在相应的()中可以写设置的内容,设置标签间的内容或者纯文本

 

[B] 节点相关操作

                1. 节点操作

                      【注】下述所有方法的参数都是选择器,即调用时在()输入"div", "h2"等

                      siblings()       获取除了自身外的所有兄弟节点

                      nextAll()        获取从该节点开始,往下所有的兄弟节点

                      prevAll()        获取从该节点开始,往上所有的兄弟节点

                      nextUntil()      传入选择器,获取从当前元素往下到所传入选择器之间的所有节点

                      prevUntil()      传入兄弟节点选择器,获取从当前元素往上到所传入选择器之间的所有节点

                      parentUntil()    传入父节点选择器,获取从当前元素开始到指定父节点的所有父亲节点

                

 

                      parent()         获取父元素

                      parents()        获取父元素们,即父节点及其祖先节点

                          可传参数:选择器,即二次筛选

                      closest()        获取第一个复合元素的节点(从自身开始)

                          必传参数:选择器

                    
                    

                      包装方法,实现对所选元素在外部添加一个父元素的方法

                      wrap()           给每一个获取到的节点都进行包装

                      wrapAll()        将所有获取的元素节点包装在一个盒子里,即整体包装

                                       【注】若被包装的元素节点不在一起,则其中非包装元素会被自动移到后面

                      wrapInner()      内部包装,即在所选中的节点的内部添加包装

                      unwrap()         删除包装,若所选中的元素节点外面有包装,则会被删除(body不会被删),若没有就不删

                    

                      clone()          克隆节点,默认只会克隆节点本身,不会克隆相应行为

                          参数:true    若传入true,则既会克隆节点本身,也会克隆相应行为

                    

                      add()            添加节点操作,当多个元素节点有相同的行为时,可通过add添加,实现多个元素节点赋予相同的行为

                          示例:

                              $("#div1").add(".sp").add("#box")

                              .css(样式)

                              .click()

                              ......

                          【注】该方法与$("#div1, .sp, #box")实现的效果是一样的

                      slice(start, end) 获取所选中的节点的指定范围[start, end)内的节点(参数为数字)


[C] 表单相关操作

                   1.  serialize()       将获取到的表单元素的数据拼接成查询字符串,返回值即为拼接好的字符串

                      示例:

                          $(function(){

                              $("#btn").click(function(){

                                  var s = $("input").serialize();     返回字符串:a=xxx&b=yyy$c=zzz

                                  alert(s);

                              })

                          })

                          <input type="text" name="a">    若输入xxx

                          <input type="text" name="b">    若输入yyy

                          <input type="text" name="c">    若输入zzz

                          <button id="btn">提交</button>

                   2.  serializeArray()  将获取到的表单元素的数据拼接成数组,返回值为数组,数组元素为对象

                          $(function(){

                              $("#btn").click(function(){

                                  var s = $("input").serializeArray();

                                      // 返回值为数组:

                                          [{name: a, value: xxx},

                                           {name: b, value: yyy},

                                           {name: c, value: zzz}]

                                  alert(s);

                              })

                          })

                          <input type="text" name="a">    若输入xxx

                          <input type="text" name="b">    若输入yyy

                          <input type="text" name="c">    若输入zzz

                          <button id="btn">提交</button>

              
 
[D] 事件属性

                事件参数及触发

                    节点绑定的触发函数可以传入参数ev,ev中包含着所有数据

                    其中:

                        ev.data()         返回值为传入数据对象

                        ev.target()       返回值为触发的对象(事件接受者)

                        ev.type()         返回值为触发事件的类型,"click", "mouseover"等


                        trigger()          主动触发

                            // 当节点被赋予了事件后,调用$("#div").trigger("click")即可实现主动触发事件

 

 

 

posted @ 2020-07-11 09:35  CarreyB  阅读(107)  评论(0编辑  收藏  举报