08 技术扩展-JQuery知识点

JQuery

一、顶级对象

JQueryd的顶级对象是jQuery,简写符号为**$**。它能够方便的调用出封装好的方法

二、页面加载事件

2.1 $(window).load( )

当页面中的所有内容加载完毕后才会触发该页面加载事件

$(window).load(function (){
  console.log("页面加载事件一");
})

2.2 $(document).ready( )

当页面的基础标签加载完毕后立马触发该页面加载事件

$(document).ready(function (){
  console.log("页面加载事件二");
})

2.3 jQuery(function( ){ })

当页面的基础标签加载完毕后立马触发该页面加载事件

jQuery(function (){
  console.log("页面加载事件三");
})

2.4 $( function( ){ })

当页面的基础标签加载完毕后立马触发该页面加载事件

$(function (){
  console.log("页面加载事件四");
})

三、jQuery和DOM对象互转

两种对象的互转的意图,在于当jQuery对象封装的方法无法解决的问题通过转成DOM对象,使用传统方式解决。

3.1 DOM对象转jQuery对象

  • $( DOM对象 )
window.onload = function (){
  let dom = document.getElementById("test"); // DOM对象
  // 转jQuery对象
  $(dom).click(function (){
    console.log("DOM --> jQuery");
  })
}

3.2 jQuery对象转DOM对象

  1. $( 选择器 ).get(0)
$(function () {
    // 转DOM对象
    $("#test").get(0).onclick = function(){
    console.log("jQuery --> DOM");
  };
})
  1. $( 选择器 ).[0]
$(function () {
    // 转DOM对象
    $("#test").[0].onclick = function(){
    console.log("jQuery --> DOM");
  };
})

三、选择器

3.1 常规选择器

  1. id选择器:$("#id")
  2. 类选择器:$(".class")
  3. 标签选择器:$(“tagName”)
  4. 获取所有元素选择器:$("*")
  5. 标签+类选择器:$(“tagName.class”)
  6. 多条件选择器:$(“tagName,tagName,…”)
  7. 奇数选择器:$(“tagName:odd”)
  8. 偶数选择器:$(“tagName:even”)

3.2 层级选择器

  1. 后代选择器:$(“子元素 孙子元素 …”)
  2. 子代选择器:$(“parent element > child element”)
  3. 获取当前元素相邻元素:$(“tagName + tagName”)
  4. 获取当前元素后所有元素:$(tagName ~ tagName)

3.3 索引选择器

  1. 获取索引元素:$(“tagName:eq(num)”)
  2. 获取索引大于指定数字所有元素:$(“tagName:gt(num)”)
  3. 获取索引小于指定数字所有元素:$(tagName:lt(num))

四、方法

4.1 常规方法

  1. html( ):设置标签之间显示的HTML内容,类似innerHTML
  2. text( ):设置标签之间显示的文本内容,类似innerText
  3. val( ):设置标签属性的value值,类似value
  4. css( ):设置元素的样式,类似style

4.2 操作样式方法

  1. addClass(“类样式名 类样式名”):元素添加样式
  2. removeClass(“类样式名”):删除元素样式,不写参数可删除所有样式
  3. hasClass(“类样式名”):检测当前元素是否应用该样式
  4. toggleClass(“类样式名”):切换元素的类样式

4.3 操作元素方法

  1. next( ):当前元素之后的紧邻的第一个兄弟元素
  2. nextAll( ):当前元素之后的所有兄弟元素
  3. prev( ):当前元素之前的紧邻的第一个兄弟元素
  4. prevAll( ):当前元素之前的所有兄弟元素
  5. siblings( ):当前元素的所有兄弟元素

五、链式编程

为了减少编程代码量,在返回值为同一个对象的方法之间可直接通过**"."**之间接在方法后面继续调用新的方法,若返回不是同一对象的方法时间进行链式调用会出现断链错误。

对象.方法( ).方法( ).方法 () …

$(function (){
  $("#test").click(function (){
    $("#dv").html("<p>链式调用</p>").clss("fontSize","28px")
  })
})

修复断链的方法为 end( ),恢复到断链之前的效果。

六、动画

6.1 显隐动画

  1. hide( ):隐藏元素动画
  2. show( ):显示元素动画

6.2 切换动画

6.2.1 滑入滑出
  1. slideUp( ):滑入动画
  2. slideDown( ):滑出动画
  3. slideToggle( ):切换滑入滑出
6.2.2 淡入淡出
  1. fadeIn( ):淡入动画
  2. fadeOut( ):淡出动画
  3. fadeToggle( ):切换淡入淡出
  4. fadeTo(IntNum,floatNum):透明度淡化

以上方法都可以进行传参,设置动画效果

  1. Number类型 ,根据数值设置动画运行时长(单位:毫秒)
  2. String类型,根据描述设置运行时长(“slow” ,“normal”, “fast”)

6.3 元素动画

  1. animate({样式},动画时间,回调函数):控制元素的样式变动的动画效果
  2. stop( ):停止动画效果

七、DOM操作

7.1 动态创建元素

7.1.1 $(“标签代码”)
$(function (){
  $("#btn").click(function (){
    // 创建元素
    let aEle = $("<a href="http://www.mi.com">小米</a>");
                 
    // 在当前元素中,往后插入元素
    $("#test").append(aEle);
      
    // 在当前元素中,主动往后插入元素
    //aEle.appendTo($("#test"));
      
    // 在当前元素中,往前插入元素
    //$("#test").prepend(aEle);
      
    // 在当前元素后,往后插入元素(往后创建兄弟元素)
    //$("#test").after(aEle);
      
    // 在当前元素前,往后插入元素(往后创建兄弟元素)
    //$("#test").before();
  })
})
7.1.2 Obj.html(“标签代码”)
$(function (){
  $("#btn").click(functiom (){
  	$("#test").html("<p>Hello jQuery</p>")
  })
})

7.2 克隆元素

$(function (){
  let cloneEle = $("#test").children().clone();
  cloneEle.css("color","red");
  $("#clo").append(cloneEle);
})

7.3 清除元素及内容

  1. $(选择器).html(""):清除该元素中的内容
  2. $(选择器).empty( ):清除该元素中的内容
  3. $(选择器).remove( ):清除该元素

7.4 操作表单值

  1. $(选择器).val(""):获取表单值
  2. $(选择器).val(“new value”):设置表单值

7.5 自定义属性

  1. Obj.attr(“属性”,“属性值”): 设置创建元素的属性
$(function (){
  $("#btn").click(function (){
   let aEle = $("<a></a>");
   aEle.attr("title,"小米");
   aEle.attr("href","http://www.mi.com");
   $("#test").append(aEle);
  })
})
  1. Obj.attr(“属性”): 获取元素的属性值

7.6 操作元素宽高

  1. $(“选择器”).width(): 获取元素的宽度值
  2. $(“选择器”).width(值): 设置元素的宽度值
  3. $(“选择器”).height( ): 获取元素的宽度值
  4. $(“选择器”).height(值): 设置元素的宽度值

7.7 操作元素偏移

  1. $(“选择器”).offset(“left”:值,“right”:值): 设置元素的偏移值
  2. $(“选择器”).offset( ).left: 获取元素的水平偏移值
  3. $(“选择器”).offset( ).top: 获取元素的垂直偏移值
  1. 该方法返回值是一个对象,对象中包含数字类型的left与top。
  2. 设置的值无"px"单位,设置的元素若没有脱离文档流,设置时会自动进行脱离文档流,默认为relative。

7.8 操作滚动条偏移

  1. $(“选择器”).scrollLeft(值): 设置匹配元素的滚动条水平位置
  2. $(“选择器”).scrollTop(值): 设置匹配元素的滚动条垂直位置

八、事件

8.1 元素绑定事件

  1. $(选择器).bind(“事件”:function( ){ }):元素绑定单个事件
$(function (){
  $("#btn").bind("click":function() {
    console.log("点击事件");
  })
})
  1. $(选择器).bind({“事件”:function( ){ },…}):元素绑定多个事件
$(function (){
  $("#btn").bind({"click":function(){
    console.log("点击事件");
  },"mouseover":function() {
    console.log("鼠标滑入事件");
  },"mouseout":function() {
    console.log("鼠标滑出事件");
  }})
})
  1. $(选择器).delegate(“元素”,“事件”:function( ){ }):为子元素绑定事件
$(function (){
  $("#btn").delegate("p","click":function() {
    console.log("子元素点击事件");
  })
})
  1. $(选择器).on(“事件”:function( ){ }):元素绑定事件
  2. $(选择器).on(“元素”,“事件”,":function( ){ }):为子元素绑定事件

8.2 元素解绑事件

  1. $(选择器).off(“事件”):元素解绑事件
  2. $(选择器).unbind(“事件”):元素绑定事件
  3. $(选择器).undelegate(“事件”):元素绑定事件

8.3 触发事件

  1. $(选择器).事件名( ):触发事件
  2. $(选择器).trigget(“事件”):触发事件
  3. $(选择器).triggerHandler(“事件”):触发事件
$(function (){
  
  $("#btn1").click(function (){
    console.log("触发事件");
  })
    
  $("#btn2").click(function (){
    // 方式一
    $("#btn1").click();
    
    // 方式二
    $("#btn1").trigger("click");
      
    // 方式三
    $("#btn1").triggerHandler("click");
  })
})
  • trigger( )事件会触发指定事件,还有触发浏览器默认事件
  • triggerHandler( )事件触发指定事件,不会触发浏览器默认事件

8.4 取消事件冒泡

元素中包含一个元素,并且这些元素都有相同的事件,若里面元素事件被触发,包围在外层元素的事件也会自动触发。在里层的事件添加返回值 return false即可取消事件冒泡

$(function (){
  $("#div1").click(function (){
    console.log("外层DIV触发");
  })
  $("#div2").click(function (){
    console.log("二层DIV触发");
  })
  $("#div3").click(function (){
    console.log("最里层DIV触发");
    return false;
  })
})

8.5 顶级对象放权

  • noConflict( ):将$对象进行控制权的释放
let new$ = $.noConflict();
let $ = "我是普通变量";
new$(function (){
  new$("#btn").click(function (){
    console.log($);
  })
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值