当前位置: 首页 > news >正文

零基础学习jQuery第三天

目录

一、动画效果:让页面 “活” 起来

1. 基础动画方法

2. 自定义动画:animate()

二、AJAX 异步请求:与后端交互

1. 基础语法

2. 常用简化方法

3. 实战案例:加载并显示数据

三、今日练习

四、小结


恭喜你进入 jQuery 学习的第三天!今天我们将学习两个非常实用的知识点:动画效果AJAX 异步请求。这两个功能能让你的页面更具交互性,还能实现与后端的数据交互,是 jQuery 中非常强大的功能。

一、动画效果:让页面 “活” 起来

jQuery 提供了一系列简化的动画方法,无需复杂的 CSS 或 JS 就能实现平滑过渡效果。

1. 基础动画方法
  • show() / hide():显示 / 隐藏元素(默认是瞬间效果,可加参数控制时长)

    html

    预览

    <div id="box" style="width:100px;height:100px;background:red;"></div>
    <button id="showBtn">显示</button>
    <button id="hideBtn">隐藏</button><script>// 点击显示按钮,让盒子用500毫秒(0.5秒)慢慢显示$("#showBtn").click(function() {$("#box").show(500); // 数字单位是毫秒});// 点击隐藏按钮,让盒子用800毫秒慢慢消失$("#hideBtn").click(function() {$("#box").hide(800);});
    </script>
    
  • toggle():切换显示 / 隐藏状态(点击一次显示,再点一次隐藏)

    javascript

    // 点击按钮,切换盒子的显示/隐藏(带动画)
    $("button").click(function() {$("#box").toggle(300);
    });
    
  • fadeIn() / fadeOut():淡入 / 淡出效果(透明度变化)

    javascript

    // 淡入(300毫秒)
    $("#box").fadeIn(300);
    // 淡出(500毫秒)
    $("#box").fadeOut(500);
    
  • slideDown() / slideUp():下拉 / 上滑效果(类似折叠面板)

    javascript

    // 下拉展开(常用于菜单展开)
    $("#menu").slideDown(400);
    // 上滑收起
    $("#menu").slideUp(400);
    
2. 自定义动画:animate()

如果基础动画满足不了需求,可以用 animate() 自定义样式变化(如位置、大小等):

html

预览

<div id="box" style="position:absolute; width:100px; height:100px; background:blue;"></div>
<button id="moveBtn">移动盒子</button><script>$("#moveBtn").click(function() {// 让盒子在1秒内移动到left:300px、top:200px,同时宽度变为200px$("#box").animate({left: "300px",top: "200px",width: "200px"}, 1000); // 1000毫秒 = 1秒});
</script>

注意:使用 animate() 时,元素需要设置 position: relative/absolute/fixed 才能改变 left/top 等位置属性。

二、AJAX 异步请求:与后端交互

AJAX 可以让页面在不刷新的情况下与服务器交换数据(比如加载数据、提交表单),jQuery 用 $.ajax() 简化了原生 JS 的复杂写法。

1. 基础语法

javascript

$.ajax({url: "请求的地址", // 后端接口地址(如 "data.json" 或 "/api/getUser")type: "GET", // 请求方式:GET(获取数据)或 POST(提交数据)dataType: "json", // 预期返回的数据类型(json/text/html等)success: function(response) {// 请求成功时执行(response 是后端返回的数据)console.log("获取数据成功:", response);},error: function(xhr) {// 请求失败时执行(xhr 是错误信息)console.log("请求失败:", xhr.status);}
});
2. 常用简化方法

jQuery 为常用的请求类型提供了更简洁的写法:

  • $.get():快速发送 GET 请求(获取数据)

    javascript

    // 向 "data.json" 发送 GET 请求,获取数据
    $.get("data.json", function(data) {// 成功后处理数据(data 是返回的内容)console.log("GET 成功:", data);
    });
    
  • $.post():快速发送 POST 请求(提交数据)

    javascript

    // 向 "/api/submit" 提交数据(如表单信息)
    $.post("/api/submit", {username: "张三",age: 20
    }, function(response) {console.log("提交成功,后端返回:", response);
    });
    
3. 实战案例:加载并显示数据

假设我们有一个 data.json 文件(模拟后端数据):

json

{"name": "jQuery教程","content": "今天学习AJAX!","author": "小明"
}

用 jQuery 加载并显示到页面:

html

预览

<div id="info"></div>
<button id="loadBtn">加载数据</button><script>$("#loadBtn").click(function() {// 点击按钮后,用 GET 请求加载 data.json$.get("data.json", function(data) {// 把数据拼接成 HTML 显示到页面let html = `<h3>${data.name}</h3><p>${data.content}</p><p>作者:${data.author}</p>`;$("#info").html(html);}).error(function() {// 如果请求失败,显示错误信息$("#info").html("加载失败,请重试!");});});
</script>

三、今日练习

  1. 实现一个 “动画菜单”:

    • 点击按钮,用 slideDown() 展开一个菜单列表(ul
    • 再点击一次,用 slideUp() 收起菜单
  2. 模拟数据加载:

    • 创建一个 users.json 文件,包含 3 个用户信息(name, age, email)
    • 页面有一个 “加载用户” 按钮,点击后用 $.get() 请求该文件
    • 成功后,将用户信息显示在页面的表格中

四、小结

今天学习的动画和 AJAX 是 jQuery 的 “灵魂功能”:

  • 动画让页面交互更流畅,提升用户体验
  • AJAX 实现无刷新数据交互,是现代网页的核心能力

明天我们会学习 jQuery 的工具方法和插件使用,帮你进一步拓展 jQuery 的应用场景。继续加油!

http://www.lryc.cn/news/617329.html

相关文章:

  • 用 Python 绘制企业年度财务可视化报告 —— 从 Excel 到 9 种图表全覆盖
  • DDIA第五章:分布式数据复制中的一致性与冲突处理
  • 第5节 大模型分布式推理通信优化与硬件协同
  • 在Debian上安装MySQL
  • Excel 实战:基因表达矩阵前处理中测序符号的快速剥离方法
  • golang 基础案例_02
  • 设计模式笔记_结构型_享元模式
  • 深入解析Prompt缓存机制:原理、优化与最佳实践
  • Agent在供应链管理中的应用:库存优化与需求预测
  • Python FastAPI + React + Nginx 阿里云WINDOWS ECS部署实战:从标准流程到踩坑解决全记录
  • typecho博客设置浏览器标签页图标icon
  • 【工控】线扫相机小结 第六篇
  • uncalled4
  • 麒麟系统使用-PATH设置
  • 【接口自动化】-7- 热加载和日志封装
  • 实战:用 PyTorch 复现一个 3 层全连接网络,训练 MNIST,达到 95%+ 准确率
  • 软件测试关于搜索方面的测试用例
  • DeepCompare文件深度对比软件:权限管理与安全功能全面解析
  • Android Audio实战——获取活跃音频类型(十五)
  • 安全合规4--下一代防火墙组网
  • 企业内外网物理隔离时文件怎么传输更安全
  • ChatML vs Harmony:深度解析OpenAI全新对话结构格式的变化
  • Linux 流编辑器 sed 详解
  • C#使用EPPlus读写Excel
  • Elasticsearch Node.js 客户端的安装
  • 【Node.js从 0 到 1:入门实战与项目驱动】1.3 Node.js 的应用场景(附案例与代码实现)
  • Flutter Dialog、BottomSheet
  • RabbitMQ 消息转换器详解
  • windows上RabbitMQ 启动时报错:发生系统错误 1067。 进程意外终止。
  • 内存问题排查工具ASan初探