三天快速学习jQuery
2021-07-29 11:57:44   1  举报             
     
         
 AI智能生成
  前端学习必备,暑期带你不走偏三天快速学习jQuery
    作者其他创作
 大纲/内容
  第一天    
     jQuery 的概念    
     javaScript库  
     jQuery的优点    
     轻量级  
     基本兼容主流的浏览器  
     链式编程、隐式迭代  
     简化DOM操作、对事件,动画,支持  
     支持插件扩展开发  
     免费开源  
     常见的javaScript库  
     jQuery 基本使用    
     jQUery的下载  
     jQuery的入口函数的两种方式    
     $(function() {   )  
     $(document).ready( function() {   } )  
     jQuery的顶级对象 $    
     操作jQuery文件提供的属性和方法,
$是jQuery的别称,同时也是jQuery的顶级对象  
     jQuery对象和DOM对象    
     1. 用原生 JS 获取的对象就是 DOM对象  
     2. jQuery 方法获取的元素就是 jQuery 对象  
     3. jQuery对象本质是: 利用$对DOM对象包装产生的对象(伪数组形式)  
     4. 只有jQuery对象才能使用jQuery方法,DOM对象则使用原生的JS方法  
     jQuery对象 和 DOM对象相互转换    
     1. DOM对象转换jQuery对象: $('div')  
     2. jQUery对象转换DOM对象    
     $('div')[ index ]  
     $('div').get(index)  
     jQuery 常用的API    
     jQuery基础选择器    
     $('里面直接写CSS选择器即可')  
     jQuery筛选选择器    
     $(' li:first ') ····  
     jQuery筛选方法    
     $(' li ').sibling( selector ) ····  
     隐式迭代    
     遍历内部DOM元素的过程叫做隐式迭代  
     链式编程    
     多行代码合并成一行代码,前提要认清此行代码返回的是不是对象  
     获取当前索引index()    
     index(): 会返回当前元素所在兄弟元素里面的索引  
     jQuery 样式操作    
     操作CSS方法    
     1. 获取属性值: $(this).css(' color ')  
     2. 设置一组样式: $(this).css(' color ',' red ')  
     3. 设置多组样式: $(this).css( {"color":"skyblue",width:200 } )  
     设置类样式方法    
     作用等同于以前的 classList,可以操作类样式,注意操作类里面的参数不要加点  
     1. 添加类: $('div').addClass(' current ')  
     2. 移除类: $('div').removeClass(' current ')  
     3. 切换类: $('div').toggleClass(' current ')  
     jQuery 效果    
     显示隐藏效果    
     1. 显示: show( [speed],[easing],[fn] )  
     2. 隐藏: hide( [speed],[easing],[fn] )  
     3. 切换: toggle( [speed],[easing],[fn] )  
     滑动效果    
     1. 下滑效果: slideDown( [speed],[easing],[fn] )  
     2. 上滑效果: slideUp( [speed],[easing],[fn] )  
     3. 切换滑动: slideToggle( [speed],[easing],[fn] )  
     动画队列及停止方法    
     动画队列一旦出发就会执行,如果多次触发,就造成多个动画效果排队执行  
     停止排队: stop()  
     stop() 写到动画或者效果的前面,相当于结束上一次动画  
     淡入淡出效果    
     1. 淡入效果: fadeIn( [speed],[easing],[fn] )  
     2. 淡出效果: fadeOut( [speed],[easing],[fn] )  
     3. 切换淡入淡出: fadeToggle( [speed],[easing],[fn] )  
     4. 动画形式指定不透明度: fadeTo( speed, opacity ,[easing],[fn] )  
     自定义动画    
     animate(params,[time],[easing],[fn])  
     params: 想要更改的样式属性,以对象形式传递,必须写。 属性名可以不用带引号  
     speed: 动画时长的毫秒数值  
     easing: 动画运动曲线  
     回调函数,在动画完成时执行的函数,每个元素执行一次。  
     事件    
     切换事件 hover(over,out)    
     hover([over],out)  
     over: 鼠标移入触发的事件  
     out: 鼠标移出出发的事件  
     如果只写一个函数,则鼠标经过和离开都会触发他  
     第二天    
     jQuery 属性操作    
     设置/获取元素固有属性 prop()    
     1. 获取属性值: prop('属性名')  
     2. 设置自带属性: prop("属性名","属性值")  
     设置/获取元素自定义属性 attr()    
     1. 获取自定义属性值: attr("属性名")  
     2. 设置自定义属性: attr("属性名","属性值")  
     数据缓存 data()    
     data() 方法可以在指定的元素存取数据,并不会修改 DOM 元素结构。一旦页面刷新,之前存储的数据都将移除。  
     1. 添加数据 : data("key",value) //向元素添加数据,类似变量  
     2. 获取数据: data("key") //获取元素添加的数据值  
     jQuery 文本内容    
     普通元素内容 html()    
     1. 获取元素的内容: html()  
     2. 设置元素的内容: html("内容")  
     普通元素文本内容 text()    
     1. 获取元素文本的内容: text()  
     2. 设置元素文本的内容: text("内容")  
     表单的值 val()    
     1. 获取表单的值: val()  
     2. 设置表单的值("内容")  
     jQuery 元素操作    
      遍历元素    
     语法1: $.each(function (index, domEle) { xxx; }  
     语法2: $.each(object,function (index, element) { xxx;})   
     遍历DOM对象推荐使用 $("div").each()   遍历数组、对象推荐使用 $.each()  
     创建元素  
     添加元素    
     内部添加    
     把内容放到元素最后面: ele.append("内容")  
     把内容放入匹配元素最前面: ele.prepedn("内容")  
     外部添加    
     ele.after("内容")  
     ele.before("内容")  
     内部和外部区别:    
     内部添加元素,生成之后,他们是父子关系  
     外部添加元素,生成之后,他们是兄弟关系  
     删除元素    
     element.remove() 删除匹配的元素(本身)  
     element.empty()  删除匹配的元素集合中所有的子节点  
     element.html()  清空匹配的元素内容  
     jQuery 尺寸、位置操作    
     jQuery 尺寸    
     width() / height()   
     innerWidth() / innerHeight()   
     outerWidth() / outerHeight()   
     outerWidth(true) / outerHeight(true)   
     jQuery 位置    
     offset()    
     1.获取元素距离文档的top值:  ele.offset().top  
     2. 设置元素的偏移: ele.offset({ top: 10,left 30})  
     position()    
     只读,不能设置  
     1. 返回父级带有定位的偏移坐标,如果父级没有定位,则以文档为主  
     position().top ···  
     scrollTop()/scrollLeft()    
     scrollTop() 方法设置或返回元素被卷曲的头部  
     不跟参数是获取,参数不带单位则是被卷曲的头部  
     文档卷曲事件    
     $(window).scroll(function () { })  
     获取页面卷曲的top值:$("html,body").scrollTop()  
     拓展    
     节流阀    
     当某段代码当什么时候不想执行,可以使用节流阀:`` var flag = true ``  
     楼层下滑    
     点击楼梯:获得当前点击的索引值,根据索引值获得对应的元素,让该元素滚动下来  
     页面卷曲时(滚轮下滑):  遍历楼层``if(判断页面卷曲的top值 >=  每个元素的top { 获得当前楼层的索引值; })``,根据索引让对应的楼梯应用类样式  
     第三天    
     事件注册    
     单个事件注册    
     element.事件名 ( function () {} )  
     事件处理 on() 绑定事件    
     element.on( events, [ selector ] , fn)  
     on() 方法优势1:可以绑定多个事件,多个事件处理函数  
     on() 方法优势2:可以事件委托操作。事件委派的定义就是,把原来加给子元素身上的事件绑定在父元素身上,就是事件委派给父元素  
     on() 方法优势3:动态创建的元素,click() 没有办法绑定事件,on() 可以给动态生成的元素绑定事件  
     事件处理 off() 解绑事件    
     $("p").off() // 解绑p元素所有事件处理程序  
     $("p").off("click") //解绑p元素上面的点击事件   
     $("ul").off("click","li") //解绑事件委托  
     自动触发事件 tigger()    
     element.click() // 第一种简写方式  
     element.trigger("type") // 第二种自动触发模式  
     案例  
     element.triggerHandler(type) // 第三种自动触发模式  
     riggerHandler() 模式不会触发元素地默认行为,这是和前两种地区别  
     一次性事件 one()    
     如果有的事件只想触发一次,可以使用 one() 来绑定事件  
     事件对象    
     事件被触发,就会有事件对象的产生  
     element.on(events,[selector],function(event) {  })  
     阻止默认行为:event.preventDefault() 或者 return false
阻止冒泡:event.stopPropagation()  
     jQuery其他方法    
     jQuery 对象拷贝    
     如果想要把某个对象拷贝给另一个对象使用,此时可以使用 $.extent( )  方法  
     语法: $.extent( [deep], targetObj, Obj, [ objN ] )  
     1、deep:如果设为true为深拷贝,默认为false 浅拷贝
2、target:要拷贝到的目标对象
3、obj:待拷贝的第一个对象
4、obj:待拷贝的第N个对象
    2、target:要拷贝到的目标对象
3、obj:待拷贝的第一个对象
4、obj:待拷贝的第N个对象
 一句话总结():浅拷贝( 拷贝过去的是引用地址 )    深拷贝( 拷贝过去的是完整的对象 )   
     多库共存    
     jQuery使用$作为标识符,随着jQuery的流行,其他js库也会用$作为标识符,这样一起使用会引起冲突  
     需要一个解决方案,让jQuery和其他的js库不存在冲突,可以同时存在,这就叫多库共存  
     jQuery解决方案:  
     格式转换    
     1、将数组对象转换字符串    
     JSON.stringify(对象);//将数组对象转换字符串格式  
     将对象转换为字符串类型格式  
     2、将字符串类型转换为对象    
     JSON.parse(字符串);//将字符串类型转换对象类型  
     将字符串类型转换对象类  
     jQuery插件    
     1. 瀑布流  
     2. 图片懒加载  
     3. 全屏滚动  
     bootstrap JS 插件  
    
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
 