【web前端(四十六)】javascript_jquery详述

学好JQuery这一篇就够了(超详细) 即 library,是一个封装好的特定的集合(方法和函数)。从封装一大堆函数的角度理解库,就是在这个库中,封装了很多预先定义好的函数在里面,比如动画animate、hide、show,比如获取元素等。就是一个JS 文件,里面对我们原生js代码进行了封装,存放到里面。这样我们可以快速高效的使用这些封装好的功能了。JQuery出来就是为了快速方便操作DOM,里面基本都是封装好的函数#标题animate({“属性”:“属性值”},时间)} , 10) 阅读详情

事件

on()强烈推荐

jquery1.7之后统一事件注册方法

$("button").on("click",
               function(){
                    console.log("Hello");
                }
);

 

off()

jquery1.7之后统一事件移除方法

$("button").off("click");

 

自定义事件

自定义事件的特点:自己定义自己触发

1.绑定自定义事件

 
//注册事件
$("button").bind("myevent",
                 function(event){
                    console.log("自定义事件");
                });

 

2.触发自定义事件

$("button").trigger("myevent");

3.菜单案例

html代码

<div>
        <ul>
            <li>
                <a href="#">一级标题</a>
                <ul>
                    <li>二级标题</li>
                    <li>二级标题</li>
                    <li>二级标题</li>
                    <li>二级标题</li>
                </ul>
            </li>
            <li>
                <a href="#">一级标题</a>
                <ul>
                    <li>二级标题</li>
                    <li>二级标题</li>
                    <li>二级标题</li>
                    <li>二级标题</li>
                </ul>
            </li>
            <li>
                <a href="#">一级标题</a>
                <ul>
                    <li>二级标题</li>
                    <li>二级标题</li>
                    <li>二级标题</li>
                    <li>二级标题</li>
                </ul>
            </li>
        </ul>
        </div>

样式代码

 
<style>
            ul{
                
            }
            div>ul>li {
                float: left;
            }
            a {
                text-decoration: none;
                color: black;
                display: block;
                height: 30px;
                background-color: pink;
                margin-left: 10px;
                line-height: 30px;
                padding: 0px 10px;
                font-size: small;
            }
            ul>li>ul {
                display: none;
            }
        </style>

 

jquery代码

 
<script type="text/javascript" src="js/jquery/jquery-3.4.1.min.js"></script>
        <script type="text/javascript">
            $(
                function(){
                    $("a").mouseenter(
                        function(){
                            $(this).next("ul").show();
                            console.log("隐藏效果");
                        }
                    );
                    $("a").mouseout(
                        function(){
                            $(this).next("ul").hide();
                        }
                    );              }
            );
        </script>

 

 

jQuery特殊属性操作

val方法

val方法用于设置和获取表单元素的值,例如input、textarea的值

//设置值
$("#name").val(“张三”);
//获取值
$("#name").val();

【案例:京东搜索.html】

 

 

html方法与text方法

html方法相当于innerHTML text方法相当于innerText

//设置内容
$(“div”).html(“<span>这是一段内容</span>”);
//获取内容
$(“div”).html()
​
//设置内容
$(“div”).text(“<span>这是一段内容</span>”);
//获取内容
$(“div”).text()

区别:html方法会识别html标签,text方法会那内容直接当成字符串,并不会识别html标签。

 

 

width方法与height方法

设置或者获取高度

//带参数表示设置高度
$(“img”).height(200);
//不带参数获取高度
$(“img”).height();

 

获取网页的可视区宽高

//获取可视区宽度
$(window).width();
//获取可视区高度
$(window).height();

 

 

scrollTop与scrollLeft

设置或者获取垂直滚动条的位置

//获取页面被卷曲的高度
$(window).scrollTop();
//获取页面被卷曲的宽度
$(window).scrollLeft();

【案例:仿腾讯固定菜单栏案例】 【案例:小火箭返航案例】

 

 

offset方法与position方法

offset方法获取元素距离document的位置,position方法获取的是元素距离有定位的父元素的位置。

//获取元素距离document的位置,返回值为对象:{left:100, top:100}
$(selector).offset();
//获取相对于其最近的有定位的父元素的位置。
$(selector).position();

 

 

jQuery事件机制

JavaScript中已经学习过了事件,但是jQuery对JavaScript事件进行了封装,增加并扩展了事件处理机制。jQuery不仅提供了更加优雅的事件处理语法,而且极大的增强了事件的处理能力。

 

 

jQuery事件发展历程(了解)

简单事件绑定>>bind事件绑定>>delegate事件绑定>>on事件绑定(推荐)

简单事件注册

click(handler)          单击事件
mouseenter(handler)     鼠标进入事件
mouseleave(handler)     鼠标离开事件

缺点:不能同时注册多个事件

bind方式注册事件

//第一个参数:事件类型
//第二个参数:事件处理程序
$("p").bind("click mouseenter", function(){
    //事件响应方法
});

缺点:不支持动态事件绑定

delegate注册委托事件

// 第一个参数:selector,要绑定事件的元素
// 第二个参数:事件类型
// 第三个参数:事件处理函数
$(".parentBox").delegate("p", "click", function(){
    //为 .parentBox下面的所有的p标签绑定事件
});

缺点:只能注册委托事件,因此注册时间需要记得方法太多了

on注册事件

 

 

on注册事件(重点)

jQuery1.7之后,jQuery用on统一了所有事件的处理方法。

最现代的方式,兼容zepto(移动端类似jQuery的一个库),强烈建议使用。

on注册简单事件

// 表示给$(selector)绑定事件,并且由自己触发,不支持动态绑定。
$(selector).on( "click", function() {});

on注册委托事件

// 表示给$(selector)绑定代理事件,当必须是它的内部元素span才能触发这个事件,支持动态绑定
$(selector).on( "click",“span”, function() {});

on注册事件的语法:
// 第一个参数:events,绑定事件的名称可以是由空格分隔的多个事件(标准事件或者自定义事件)
// 第二个参数:selector, 执行事件的后代元素(可选),如果没有后代元素,那么事件将有自己执行。
// 第三个参数:data,传递给处理函数的数据,事件触发的时候通过event.data来使用(不常使用)
// 第四个参数:handler,事件处理函数
$(selector).on(events[,selector][,data],handler);

​

 

事件解绑

unbind方式(不用)

$(selector).unbind(); //解绑所有的事件
$(selector).unbind("click"); //解绑指定的事件

undelegate方式(不用)

$( selector ).undelegate(); //解绑所有的delegate事件
$( selector).undelegate( “click” ); //解绑所有的click事件

off方式(推荐)

// 解绑匹配元素的所有事件
$(selector).off();
// 解绑匹配元素的所有click事件
$(selector).off("click");

 

 

触发事件

$(selector).click(); //触发 click事件
$(selector).trigger("click");

 

 

jQuery事件对象

jQuery事件对象其实就是js事件对象的一个封装,处理了兼容性。

//screenX和screenY   对应屏幕最左上角的值
//clientX和clientY   距离页面左上角的位置(忽视滚动条)
//pageX和pageY   距离页面最顶部的左上角的位置(会计算滚动条的距离)
​
//event.keyCode 按下的键盘代码
//event.data    存储绑定事件时传递的附加数据
​
//event.stopPropagation()   阻止事件冒泡行为
//event.preventDefault()    阻止浏览器默认行为
//return false:既能阻止事件冒泡,又能阻止浏览器默认行为。

【案例:钢琴版导航(加强).html】

 

 

jQuery补充知识点

链式编程

通常情况下,只有设置操作才能把链式编程延续下去。因为获取操作的时候,会返回获取到的相应的值,无法返回 jQuery对象。

end(); // 筛选选择器会改变jQuery对象的DOM对象,想要回复到上一次的状态,并且返回匹配元素之前的状态。

【案例:五角星评分案例.html】

 

 

each方法

jQuery的隐式迭代会对所有的DOM对象设置相同的值,但是如果我们需要给每一个对象设置不同的值的时候,就需要自己进行迭代了。

作用:遍历jQuery对象集合,为每个匹配的元素执行一个函数

// 参数一表示当前元素在所有匹配元素中的索引号
// 参数二表示当前元素(DOM对象)
$(selector).each(function(index,element){});

【案例:不同的透明度.html】

 

 

多库共存

jQuery使用$作为标示符,但是如果与其他框架中的$冲突时,jQuery可以释放$符的控制权.

var c = $.noConflict();//释放$的控制权,并且把$的能力给了c

 

一、Jquery入门(超详) 本文将带领大家了解 jQuery 的定义,它有什么作用,我们为什么要学它,以及如何使用它,它的语法是什么,最后对比了 jQuery 对象和 DOM 对象的区别。 阅读详情

相关推荐

il2cpp分析-gobal-metadata.dat解密

打开ida,把libil2cpp拖到ida中按快捷键Shift+F12等待字符串分析完后,搜索global-metadata.dat。ida中双击sub_57EE7C进入,VS code中也跳转到LoadMetadataFile函数。VSCode打开il2cpp源代码,全局搜索global-metadata.dat。工具:010Editor,IDA 7.5,Jadx,VS Code。判断加密逻辑为根据文件的长度循环读取字节码做亦或加密。双击搜索出来的结果,切记要选il2cpp目录下的。

Android_machong的博客 8024

jquery中的属性操作和事件介绍02

jQuery特殊属性操作val方法val方法用于设置和获取表单元素的值,例如input、textarea的值//设置值 $("#name").val(“张三”); //获取值 $("#name").val();【案例:京东搜索.html】html方法与text方法html方法相当于innerHTML text方法相当于innerText//设置内容 $(“div”).html(“&lt;span...

Surpass-oneself的博客 272

LoRaWAN数据包分析工具

前言:LoRaWAN的射频数据包是加密的,而且有些字段是某个字节的某几位,看着不是那么直观,因此在某些情况下需要借助工具来分析数据包。 1、安装npm 这个工具是用JavaScript写的,其中用到了一些依赖库,而npm就可以一次性把这些依赖库下载下来,因此我们先要下载安装npm这个工具。 安装:sudo apt install npm 输入y,等待安装完成: 检查是否安装成功:npm -v 说明安装完成。 2、安装LoRa数据包分析工具lora-packet 安装:npm i.

freemote的博客 4629

JQuery安装与下载教程

jQuery安装与下载 JQuery 是一个javaScript库,是一个轻量级的"写的少,做的多"的JavaScript库。 jQuery 极大地简化javaScript编程 --juery相比js优点: jquery的onload加载事件速度更快,并且多个加载并行 【jq绑定事件都是使用的事件函数,不需要加on】; js的onloa...

Muchen灬 13万+

告别以太网瓶颈:手把手教你为AI训练集群搭建InfiniBand网络(以NVIDIA DGX A100/H100为例)

本文详细指导如何为AI训练集群搭建InfiniBand网络,解决以太网瓶颈问题,特别针对NVIDIA DGX A100/H100系统。通过硬件选型、网络架构设计和性能调优,显著提升多机多卡训练效率,适用于大规模模型训练场景。

weixin_30336061的博客 309

An AI compute of cities based on Distributed-Platform and Distributed-Databases(天池地铁流量预测)

摘要 在日益城市化的今天,城市居民出行问题逐渐成为衡量一个城市现代化能力的标准;城市出行方式多元化的同时,也对各交通系统的调度运营能力提出了更高的要求:如何提高运营效率,如何运用有限的安保力量进行有效的安检部署等问题一直在阻挠着城市交通的发展。 An AI compute of cities based on Distributed-Platform and Distributed-Databas...

Clearlove灬Star 5162

jQuery(3)事件处理普通绑定、on、off、自动触发、事件对象

1.2. jQuery 事件处理 为普通注册事件方法 因为普通注册事件方法的不足,jQuery又开发了多个处理方法,重点讲解如下: on(): 用于事件绑定,目前最好用的事件绑定方法 off(): 事件解绑 trigger() / triggerHandler(): 事件触发 1.2.1 事件处理 on() 绑定事件 因为普通注册事件方法的不足,jQuery又创建了多个新的事件绑定方法bind() / live() / delegate() / on()等,其中最好用的是: on() 1.2.3.

qq_43342124的博客 1037

innovus:如何在init design之后新增参考库(lib/lef)

如题,在PR过程中经常会遇到这种问题,时序无法收敛,需要新增一套lvt或者hpc的库,怎么办?

m0_61544122的博客 5002

jQuery下载和安装详细教程

下载jQuery 我们可以到jQuery的官网下载jQuery文件(PS:其实jQuery就是一个封装了很多函数的js文件,把这个js文件导入到网页中就可以了)。 jQuery官网地址: https://jquery.com/ 打开官网,即可看到jQuery的下载按钮,点击进入下载页面。有两个版本的jQuery可以下载: Production version - 用于实际的网站中,是已经被精简和...

柯晓楠 3万+

Trae的付费之路还挺艰难,茫茫多的人想付付不了(附解决办法)

不得不说,Trae国际版这个付费其实整的挺复杂的,但没办法,毕竟有政策限制,付费成功后,你就是尊贵的Pro用户啦,使用Claude 4不排队还是挺爽的,而且600次其实不算少了,有一个小技巧,简单的问题就把模型切到Gemini-2.5-flag,因为使用这个模型是没有次数限制的。其次付费的时候有个ZIP Code,这东西也是个迷之存在,有的地区节点需要填,有的不需要,如果你选到了不需要填的节点,那很好,付费就行了,如果需要填,可以填一个51800试试。

cpp加油站的专栏 5877

MATLAB - 利用非线性模型预测控制(Nonlinear MPC)来控制四旋翼飞行器

本示例展示了如何利用非线性模型预测控制(MPC)为四旋翼飞行器设计一个跟踪轨迹的控制器。

机器人控制与仿真应用 4430

jQuery详解

文章目录Bootstrap简介概念为什么使用Bootstrap下载与使用Bootstrap的使用表格丰富的标签好看的类样式情景色类样式响应式表格表单表单布局默认布局内联布局表单控件输入框文本框复选框复选按钮单选框单选按钮按钮图片下拉菜单组件分页组件栅格系统缩略图组件模态框组件两个案例首页轮播大图响应式导航条 Bootstrap简介 概念 Bootstrap 来自 Twitter,是目前最受欢迎的响应式前端框架。 Bootstrap 基于 HTML、CSS、JavaScript,简洁灵活,使得 Web 开发

亦翼的博客 8966

Python 爬虫实战:深入闲鱼平台,抓取二手好物价格波动数据

本文介绍了如何利用Python爬虫抓取闲鱼(Xianyu)二手交易平台的商品价格数据并分析其波动趋势。通过requests和BeautifulSoup库实现网页数据抓取与解析,使用pandas进行数据清洗和存储,最后借助matplotlib可视化价格波动情况。文章详细展示了从网页结构分析、数据采集到波动率计算和趋势可视化的完整流程,并建议通过定时任务实现持续数据更新。该项目能为二手市场交易者提供价格参考,帮助优化买卖决策。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 3375

jQuery(四十六)

jQuery Tooltip jQuery Tooltip 插件取代了原生的工具提示框,让它们可自定义,您只需要调整它们的内容、位置和外观即可。 该插件目前版本是 1.3,已经很长时间没有更新,推荐使用 jQuery UI 工具提示框(Tooltip)。 如需了解更多有关 jQuery UI 工具提示框(Tooltip)的细节,请查看 API 文档 jQuery UI 工具提

shi199434的博客 115

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

jQuery简单入门

学习笔记

weixin_64436232的博客 4608

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【jQuery】入门学习篇

【jQuery】入门学习篇

2201_75503057的博客 4057

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

一个小时学会jQuery<最通俗易懂的讲解>

最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美。 其结构明晰,高内聚、低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷、渐进增强)优雅的处理能力以及 Ajax 等方面周到而强大的定制功能无不令人惊叹。 另外,阅读...

chetianyao8457的博客 1766

jQuery简介、引入jQuery、jQuery核心函数、jQuery对象、jQuery对象操作class、addclass补充、jQuery对象复制——jQuery

jQuery简介、引入jQuery、jQuery核心函数、jQuery对象、jQuery对象操作class、addclass补充、jQuery对象复制

weixin_70320000的博客 3734

JQuery的attr 与 val区别及使用

JQuery的attr 与 val区别 取值:$('#name').val() 根据标签id直接去value值;    $('#name').attr('data-name')可根据标签属性值取属性值; <input data-name="user" id="name" value="aaaa" /> $('#name').val() ;/* 'aaaa'*/ $(...

weixin_30407099的博客 322

jQuery看这一篇就够啦,jQuery基础大全,可用于快速回顾知识,面试首选

jQuery看这一篇就够啦,jQuery基础大全,可用于快速回顾知识,面试首选

a2868221132的博客 6127

前端基础之jQuery

jQuery是一个封装JS的框架。 使用jQuery可以更方便的编写JS脚本实现的功能。 jQuery 是一个 JavaScript 库。 jQuery 极大地简化了 JavaScript 编程。 HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数 JavaScript 特效和动画 HTML DOM 遍历和修改 AJAX(重要

qq_53350943的博客 4105

JQuery详解

JQuery能做什么 访问和操作DOM元素 控制页面样式 对页面时间进行处理 扩展新的JQuery插件 与Ajax技术完美结合 JQuery能做到的JavaScript也都能做到,但使用JQuery能大幅度提高开发效率其实,JQuery和JavaScript之间的关系,可以理解为“成语” 和“白话文”之间的关系。成语是对白话文的高度压缩,而JQuery也是对JavaScript的高度压缩库进入JQuery官网:http://jQuery.comjQuery作为一个单独存在的js文件,并不会与其他的js文

weixin_45845391的博客 4671

【JQuery】基础从零入门操作,简单详细

jQuery下载,引入依赖,JQuery语法、选择器、时间、获取元素、返回CSS、修改属性、添加元素、删除元素、猜数字游戏、表白墙

阿华的博客 5388

JQuery 基础知识学习(详尽版)2024.11.17

jQuery的核心方法

zgscwxd的博客 1859

【小白全栈】JQuery篇,一文足以

JQuery是一个javascript的框架,是对javascript的一种封装。 通过JQuery可以非常方便的操作html的元素

扬子期的博客 2261

jQuery

jQuery 1、jQuery介绍 jQuery是什么 jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 jQuery的核心特性可以总结为:具有独特的链式语法和短

从不喝奶茶的博客 1014
上一篇: 【web前端(四十五)】javascript高级
下一篇: 【web后端(一)】jsp、servlet_查询字符串
寻爻青年
博客等级 码龄8年 27粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

寻爻青年

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

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

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

打赏作者

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

抵扣说明:

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

余额充值