jQuery-2.鼠标焦点事件、节点操作、遍历元素、效果

鼠标事件

鼠标事件是当用户在文档上移动或单击鼠标时而产生的事件,常用的鼠标事件:

方法

描述

执行时机

click()

触发或将函数绑定到指定元素的click事件

单击鼠标时

mouseover()

触发或将函数绑定到指定元素的mouse over事件

鼠标移过时

mouseout()

触发或将函数绑定到指定元素的mouse out事件

鼠标移出时

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>鼠标事件</title><script src="lib/jquery-1.11.2.min.js"></script><script>$(function(){$('#btn1').click(function(){// 切换样式$('div').toggleClass('div1')})$('div').mouseover(function(){$(this).addClass('div1')})$('div').mouseout(function(){$(this).removeClass('div1')})})</script><style>.div1{background-color: blueviolet;}</style>
</head>
<body><div id="div1">div</div><button id="btn1">切换样式</button>
</body>
</html>

焦点事件

当元素获得焦点时,会触发focus事件,失去焦点时,会触发blur事件

方法

描述

执行时机

focus()

触发或将函数绑定到指定元素的focus事件

获得焦点

blur()

触发或将函数绑定到指定元素的blur事件

失去焦点

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>焦点事件</title><script src="lib/jquery-1.11.2.min.js"></script><script>$(function(){$(':text').focus(function(){$(this).addClass('a')})$(':text').blur(function(){$(this).removeClass('a')})})</script><style>.a {background-color: red;}</style>
</head>
<body><input type="text">
</body>
</html>

节点操作

元素内部插入子节点

语法

功能

append(content)

$(A).append(B)表示将B追加到A中,如:$('ul').append($newNode1)

appendTo(content)

$(A).appendTo(B)表示把A追加到B中,如:$newNode1.appendTo('ul')

prepend(content)

$(A).prepend(B)表示将B前置插入到A中,如:$('ul').prepend($newNode1)

prependTo(content)

$(A).prependTo(B)表示将A前置插入到B中,如:$newNode1.prependTo('ul')

元素外部插入同辈节点

语法

功能

after(content)

$(A).after(B)表示将B插入到A之后,如:$('ul').after($newNode1)

insertAfter(content)

$(A).insertAfter(B)表示将A插入到B之后,如:$newNode1.insertAfter('ul')

before(content)

$(A).before(B)表示将B插入至A之前,如:$('ul').before($newNode1)

insertBefore(content)

$(A).insertBefore(B)表示将A插入到B之前,如:$newNode1.insertBefore('ul')

替换节点

replaceWith()和replaceAll()用于替换某个节点

复制节点

clone()用于复制某个节点

删除节点

remove()

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>节点操作1</title><script src="lib/jquery-1.11.2.min.js"></script><script>$(function(){$('#btn1').click(function(){// 创建一个新节点var li = '<li>千与千寻</li>'// 追加子节点$('ul').append(li)$(li).appendTo($('ul'))// 前置追加子节点$('ul').prepend(li)$(li).prependTo($('ul'))// 追加同辈节点$('ul').after(li)$('ul').before(li)// 替换节点$('li:eq(1)').replaceWith(li)$(li).replaceAll($('li:eq(1)'))})$('#btn2').click(function(){var newNode = $('ul').clone(true)$('ul').after(newNode)})})</script>
</head>
<body><h2>热门动画排行</h2><ul><li>名侦探柯南</li><li>阿拉蕾</li><li>海贼王</li></ul><button id="btn1">增加节点</button><button id="btn2">克隆节点</button>
</body>
</html>

获取与设置节点属性

attr()和prop()用来获取与设置元素属性

  • 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法
  • 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法

什么时候使用attr(),什么时候使用prop()?

  • 添加属性名称该属性就会生效时应该使用prop();例如:checked、disabled、readonly
  • 是有true、false两个属性使用prop();例如:checked
  • 其它则使用attr()

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>节点属性</title><script src="lib/jquery-1.11.2.min.js"></script><script>$(function(){$('#btn1').click(function(){alert($('.a1').prop('target'))alert($('.a2').prop('action'))  // undefined})$('#btn2').click(function(){alert($('.a1').attr('target'))alert($('.a2').attr('action'))  // hello})$('#btn3').click(function(){$('img').attr('src', 'images/03.jpg')})$('#btn4').click(function(){$('img').removeAttr('title')})})</script>
</head>
<body><a href="#" class="a1" target="_blank">自身属性的超链接</a><a href="#" class="a2" action="hello">自定义属性的超链接</a><button id="btn1">prop获取属性</button><button id="btn2">attr获取属性</button><button id="btn3">attr设置属性</button><button id="btn4">attr删除属性</button><br><img src="" alt="" title="hello">
</body>
</html>

复选框练习

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>复选框练习</title><script src="lib/jquery-1.11.2.min.js"></script><script>$(function(){$('#btn1').click(function(){// 获取选中的复选框// normal/*var arr = $(":checkbox:checked");$(arr).each(function(){alert($(this).val());})*/// propvar arr = $(':checkbox')var s = ''$(arr).each(function(){if($(this).prop('checked')){s += $(this).val()}})alert(s)})})</script>
</head>
<body>A:<input type="checkbox" value="1">B:<input type="checkbox" value="2">C:<input type="checkbox" value="3">D:<input type="checkbox" value="4"><button id="btn1">获取被选中的复选框</button>
</body>
</html>

遍历元素

遍历子元素

children()方法可以用来获取元素的所有子元素

遍历同辈元素

jQuery可以获取紧邻其后、紧邻其前和位于该元素前与后的所有同辈元素

语法

功能

next([expr])

用于获取紧邻匹配元素之后的元素,如:$('li:eq(1)').next().css('background-color', '#F06')

prev([expr])

用于获取紧邻匹配元素之前的元素,如:$('li:eq(1)').prev().css('background-color', '#F06')

sibilings([expr])

用于获取位于匹配元素前面和后面的所有同辈元素,如:$('li:eq(1)').siblings().css('background-color', '#F06')

遍历前辈元素

parent():获取元素的父级元素

parents():获取元素的祖先元素

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>遍历节点元素</title><script src="lib/jquery-1.11.2.min.js"></script><script>$(function(){$('#btn1').bind({   // 绑定事件'mouseover':function(){$(this).css('background', 'red')},'mouseout':function(){$(this).css('background', 'blue')}})$('#btn1').click(function(){var arr = $('body').children()$(arr).each(function(){alert($(this).html())})})$('#btn2').click(function(){$('li:eq(1)').next().css('background', 'pink')})$('#btn3').click(function(){$('li:eq(1)').prev().css('background', 'pink')})$('#btn4').click(function(){$('li:eq(1)').siblings().css('background', 'violet')})$('#btn5').click(function(){$('li:eq(1)').parent().css('background','grey')})$('#btn6').click(function(){// $('a').parents().css('background', 'lightblue')  // 整个body背景颜色都会变$('a').parents('ul').css('background', 'lightblue')})})</script>
</head>
<body><p>hello</p><ul><li><a href="#">小米的MI 2手机</a><span class="hot">火爆销售中</span></li><li><a href="#">苹果iPad mini</a></li><li><a href="#">三星GALAXY III</a></li><li><a href="#">苹果iPhone 13</a></li></ul><button id="btn1">获取所有子元素</button><button id="btn2">获取li1紧邻其后的元素</button><button id="btn3">获取li1紧前一个元素</button><button id="btn4">获取li1所有的相邻同辈元素</button><button id="btn5">li1父辈元素</button><button id="btn6">a祖先元素</button>
</body>
</html>

jQuery效果

淡入淡出

方法

效果

fadeIn(speed, callback)

淡入已隐藏的元素

fadeOut(speed, callback)

淡出可见元素

fadeToggle(speed, callback)

在fadeIn与fadeOut之间切换

fadeTo(speed, callback)

允许渐变为给定的不透明度(0-1)

参数说明:

  • speed:规定效果的时长。可以取:slow、fast、毫秒
  • callback:fading完成后所执行的函数名称

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>淡入淡出</title><script src="lib/jquery-1.11.2.min.js"></script><script>$(function(){$('#btn1').click(function(){$('#div1').fadeIn()$('#div2').fadeIn('slow')$('#div3').fadeIn(3000)})$('#btn2').click(function(){$('#div1').fadeOut()$('#div2').fadeOut('fast')$('#div3').fadeOut(2000)})$('#btn3').click(function(){$('#div1').fadeToggle()$('#div2').fadeToggle('slow')$('#div3').fadeToggle(2000)})$('#btn4').click(function(){$('#div1').fadeTo('slow', 0.1)$('#div2').fadeTo('fast', 0.4)$('#div3').fadeTo('slow', 0.8)})})</script>
</head>
<body><button id="btn1">淡入</button><button id="btn2">淡出</button><button id="btn3">淡入/淡出</button><button id="btn4">颜色变淡</button><br><br><div id="div1" style="width: 80px;height: 80px;display: none;background-color: red;"></div><br><div id="div2" style="width: 80px;height: 80px;display: none;background-color: green;"></div><br><div id="div3" style="width: 80px;height: 80px;display: none;background-color: blue;"></div>
</body>
</html>

滑动

方法

效果

slideDown(speed, callback)

向下滑动元素

slideUp(speed, callback)

向上滑动元素

slideToggle(speed, callback)

切换slideDown和slideUp

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>滑动事件</title><script src="lib/jquery-1.11.2.min.js"></script><script>$(function(){$('#flip').click(function(){$('#pannel').slideToggle('slow')})})</script><style>#flip, #pannel{margin: 0 auto;width: 800px;text-align: center;background-color: rgb(209, 241, 179);border: solid 1px gainsboro;font-size: 20px;}#flip{height: 80px;line-height: 80px;}#pannel{height: 200px;line-height: 200px;display: none;}</style>
</head>
<body><div id="flip">点我下滑/拉起面板</div><div id="pannel">hello world!</div>
</body>
</html>

动画效果

animate({params}, speed, callback)用于创建自定义动画

  • params参数定义形成动画的CSS属性。

默认情况下,所有HTML元素都有一个静态位置,且无法移动。如果需要对位置进行操作,首先要把元素的css的position属性设置为relative、fixed或者absolute。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>动画效果</title><script src="lib/jquery-1.11.2.min.js"></script><script>$(function(){$('#btn1').click(function(){// 生成动画的过程中可以同时使用多个属性$('#div1').animate({left: '250px',opacity: '0.5',height: '150px',width: '+=150px'    // 可以使用相对值(相对于元素的当前值)})})$('#btn2').click(function(){// 可以把属性的动画值设置为:slow、hide、toggle$('#div2').animate({height: 'toggle'})})$('#btn3').click(function(){// 动画的队列功能// 编写多个animate()时,会逐一运行这些animate调用var div = $("#div3");  div.animate({left:'100px'}, "slow");div.animate({fontSize:'3em'}, "slow");})})</script>
</head>
<body><button id="btn1">动画1</button><button id="btn2">动画2</button><button id="btn3">动画3</button><div id="div1" style="background:#98bf21;height:100px;width:100px;position:relative;"></div><div id="div2" style="background:#f59e3b;height:100px;width:100px;position:relative;"></div><div id="div3" style="background:#98bf21;height:100px;width:200px;position:absolute;">HELLO</div>
</body>
</html>

停止jQuery效果

在动画或效果完成之前,stop()方法可以用于停止这些操作。

stop方法适用于所有jQuery效果函数,包括滑动、淡入淡出和自定义动画

stop(stopAll,goToEnd)

stopAll: 规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。

goToEnd:规定是否立即完成当前动画。默认是 false。

默认地,stop() 会清除在被选元素上指定的当前动画。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/11387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《一“企”谈》∣企企通走进『鹏辉能源』,探索百亿储能上市企业如何实现供应链数字化转型

随着运营模式的升级和市场竞争的加剧&#xff0c;采购数字化已成为企业提升竞争力的关键。通过整合人工智能、大数据、云计算和物联网等先进技术&#xff0c;采购流程正逐步实现智能化、协同化和绿色化&#xff0c;大幅提升采购效率和决策质量。 广州鹏辉能源科技股份有限公司&…

mysql与idea连接

1、安装mysql&#xff0c;确保电脑中有sql数据库&#xff1b; 2、在‘服务’中开启mysql; 3、将mysql-connector-java-8.0.16.jar包放入web/WEB-INF/lib并配置&#xff1b; mysql-connector-java 5及以下&#xff0c;配置的是com.mysql.jdbc.Driver驱动mysql-connector-java 6…

webpack如何自定义一个loader

我们在使用脚手架的搭建项目的时候往往都会帮我们配置好所需的loader&#xff0c;接下来讲一下我们要如何自己写一个loader应用到项目中&#xff08;完整代码在最后&#xff09; 1. 首先搭建一个项目并找到webpack配置文件&#xff08;webpack.config.js&#xff09; 在modul…

免费PDF批量加密工具

最近在找PDF批量加密的软件来着&#xff0c;发现很多都是需要收费的&#xff0c;当然如果平时工作需要用的比较多&#xff0c;支持一下还是ok的&#xff0c;但是多数人还是偶尔用一下所以没有必要买。 工作用的话&#xff0c;一般企业文件、个人隐私资料、重要合同...所有重要文…

RK3568外置RTC芯片PCF8563T(或替代型号)实验

RK3568 外接 PCF8563 RTC Chapter0 RK3568 外接 PCF8563 RTC1 menuconfig中打开pcf8563驱动2 设备树DTS3 修改驱动 Chapter1 【正点原子Linux连载】第三十一章 外置RTC芯片AT8563T实验 摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南第三十一章 外置RTC芯片AT8563T实验3…

炫酷渐变官网源码

炫酷渐变官网源码 效果图部分代码领取源码下期更新预报 效果图 部分代码 <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><title…

ThreadLocal 源码详解

概述 ThreadLocal是一个java提供的本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射&#xff0c;各个线程之间的变量互不干扰&#xff0c;在高并发场景下&#xff0c;可以实现无状态的调用&#xff0c;特别适用于各个线程依赖不通的变量值完成操作…

PSFR-GAN复现

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 前言快速开始安装依赖权重下载及复原 训练网络数据集训练脚本 代码详解训练BaseOptio…

NSSCTF | [SWPUCTF 2021 新生赛]caidao

打开题目&#xff0c;只有一个图片&#xff0c;图片中间是一个一句话木马的一部分&#xff0c;意思是服务器可以执行通过POST的请求方式传入参数为wllm的命令&#xff0c;那这就是典型的命令执行&#xff0c;当然&#xff0c;也可以使用蚁剑或者菜刀连接这个木马 一句话木马的…

DOM API

DOM 基本概念 DOM 全称为 Document Object Model&#xff0c;就是文档对象模型。html 的每个标签都可以映射到 js 中的一个对应对象上。 DOM 树 一个页面的结构是一个树形结构, 称为 DOM 树 . 树形结构在数据结构阶段会介绍. 就可以简单理解成类似于 " 家谱 &q…

全场景智能终端RK3288主板在智能垃圾回收项目的应用,支持鸿蒙,支持全国产化

全场景智能终端主板AIoT-3588A推出的智能化垃圾回收项目&#xff0c;旨在解决城市化进程中日益突出的垃圾处理问题。智能垃圾分类箱具备触屏操作、自动称重、分类投放以及电子语音播报提示等多项功能&#xff0c;居民能够经过分类积分卡、手机扫码、人脸识别等多种途径进行投放…

【小笔记】streamlit使用笔记

【小笔记】streamlit使用笔记 1.streamlit是什么&#xff0c;为什么要用它&#xff1f; 一句话&#xff0c;这个东西是一个python的可视化库&#xff0c;当你想要给你的程序添加个web界面&#xff0c;而又不会或不想用前端技术时&#xff0c;你就可以考虑用它。 类似的可视化库…

uni-app(四):原生插件开发(Android)

原生插件开发 原生插件开发module1.创建模块2.解决报错3.修改依赖4.编写插件代码5.添加插件配置6.引入模块7.调用插件代码8.运行 component1.创建模块2.解决报错3.修改依赖4.编写插件代码5.添加插件配置6.引入模块7.调用插件代码8.运行 原生插件开发 主要分为两类扩展: Module:…

EfficientNet网络结构详细解读+SE注意力机制+pytorch框架复现

文章目录 &#x1f680;&#x1f680;&#x1f680;前言一、1️⃣ 网络详细结构1.1 &#x1f393; MBConv结构1.2 ✨SE注意力机制模块1.3 ⭐️Depthwise Separable Convolution深度可分离卷积1.3.1 普通卷积操作(Convolution)1.3.2 逐深度卷积&#xff08;Depthwise Convoluti…

【强训笔记】day21

NO.1 思路&#xff1a;第一个位置放最小的&#xff0c;其次放最大的&#xff0c;依次类推。 代码实现&#xff1a; #include<iostream>using namespace std; int n;int main() {cin>>n;int left1,rightn;while(left<right){cout<<left<<" &…

Nios-II编程

文章目录 一硬件部分设计1Qsys2Quartus 二软件1Nios-II Eclipse 三运行项目及效果1配置 FPGA 一硬件部分设计 1Qsys 1创建一个项目 2点击 Tools 下拉菜单下的 Platform Designer 工具&#xff0c;启动 Platform Designer 后&#xff0c;点击 File-save&#xff0c;在文件名中…

云原生基础设施和操作系统分论坛 03-在Kubernetes上运行Apache Spark进行大规模数据处理的实践【数据分析】

https://spark.apache.org/视频观看&#xff1a;https://www.bilibili.com/video/BV17J4m1n7Gv/?spm_id_from333.999.0.0 简介 Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop…

SpringBoot项目中基于PDF模板生成PDF文档

&#x1f341; 作者&#xff1a;知识浅谈&#xff0c;CSDN签约讲师&#xff0c;CSDN博客专家&#xff0c;华为云云享专家&#xff0c;阿里云专家博主 &#x1f4cc; 擅长领域&#xff1a;全栈工程师、爬虫、ACM算法 &#x1f492; 公众号&#xff1a;知识浅谈 &#x1f525; 微…

Java入门基础学习笔记20——三元运算符、运算符优先级

1、三元运算符介绍&#xff1a; 格式&#xff1a; 条件表达式 ? 值1: 值2 执行流程&#xff1a;首先计算关系表达式的值&#xff0c;如果值为true&#xff0c;就返回值1&#xff0c;如果值为false&#xff0c;就返回值2。 例1&#xff1a; package cn.ensource.operator;p…

企业级WEB服务Nginx安装

企业级WEB服务Nginx安装 1. Nginx版本和安装方式 Mainline version 主要开发版本,一般为奇数版本号,比如1.19Stable version 当前最新稳定版,一般为偶数版本,如:1.20Legacy versions 旧的稳定版,一般为偶数版本,如:1.18Nginx安装可以使用yum或源码安装,但是推荐使用源码编译安…