03_Web开发基础之综合应用

news2024/11/23 18:31:21

web开发基础之综合使用

学习目标和内容

1、能够描述jQuery的作用

2、能够使用jQuery的选择器获取元素

3、能够使用jQuery对HTML标签元素注册事件

4、能够使用jQuery对HTML元素的属性进行操作

5、能够描述Bootstrap的作用

6、能够使用Bootstrap创建简单网页

7、能够描述AJAX的作用

8、能够实现AJAX发送请求到后端服务

一、jQuery

1、jQuery相关介绍

jQuery 是一个 JavaScript 的脚本库,提供了很多便捷的操作 DOM 的方法。

jQuery 中提供的操作如下:

选择器、属性操作、样式操作、节点操作、动画、注册事件

2、下载和部署

jQuery 官网:

英文:jQuery

中文:jQuery API 中文文档 | jQuery中文网

下载地址:

Download jQuery | jQuery

使用方式注意:

①在HTML文档的</body>前引入即可。

②在使用一些js插件时,依赖jQuery的,必须先引入jquery,再引入js的插件。

<script src="jquery-3.3.1.js"></script>

3、使用jQuery

$和jQuery

// 遍历数组
$.each(arr, function (index, item) {
  // index 当前项的索引
  // item 当前项
});
// 获取第一个参数,在数组中出现的索引,如果数组中没有返回 -1
$.inArray('linux', arr);

4、jQuery选择器

jQuery中的选择器和CSS选择器使用基本类似。

$('.box').css('color', 'red');

5、jQuery注册事件

$('#btn').click(function() {
   //执行代码
});
$('.box').mouseover(function () {
//执行代码
});

6、jQuery属性操作

//获取或者设置表单元素的值
$('#username').val()
//获取或者设置标签之间的内容
$('.box').html()
//获取或者设置元素属性的值
$('.box').attr()

7、jQuery隐藏显示

//显示
$('.box').show()
//隐藏
$('.box').hide() 

8、jQuery样式操作

//操作行内样式
$('.box').css();
//操作类样式
//添加类样式
$('.box').addClass(); 
//移除类样式
$('.box').removeClass(); 

二、Bootstrap

1、Bootstrap介绍

简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。

作用:可以==快速搭建响应式的网页==,而不需要书写大量的 css

中文文档: Bootstrap v3 中文文档 · Bootstrap 是最受欢迎的 HTML、CSS 和 JavaScript 框架,用于开发响应式布局、移动设备优先的 WEB 项目。 | Bootstrap 中文网

2、下载和部署

下载地址:起步 · Bootstrap v3 中文文档 | Bootstrap 中文网

2.1、目录结构

bootstrap/

├── css/

│ ├── bootstrap.css

│ ├── bootstrap.css.map

│ ├── bootstrap.min.css

│ ├── bootstrap.min.css.map

│ ├── bootstrap-theme.css

│ ├── bootstrap-theme.css.map

│ ├── bootstrap-theme.min.css

│ └── bootstrap-theme.min.css.map

├── js/

│ ├── bootstrap.js

│ └── bootstrap.min.js

└── fonts/

├── glyphicons-halflings-regular.eot

├── glyphicons-halflings-regular.svg

├── glyphicons-halflings-regular.ttf

├── glyphicons-halflings-regular.woff

└── glyphicons-halflings-regular.woff2

如何学习使用bootstrap

1、官方文档学习

2、第三方学习网站

Bootstrap 教程 | 菜鸟教程>

2.2、基本模板演示

<!DOCTYPE html>
<html lang="zh-CN">
<head>     
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge">        
    <meta name="viewport" content="width=device-width, initial-scale=1">    
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
     <title>Bootstrap 101 Template</title>
    <!-- Bootstrap -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <h1>你好,Boostrap!</h1>
    <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
    <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>  
    <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
</body>
</html>

2.3、全局CSS

Bootstrap中提供了很多类样式方便编写页面。

①容器类样式

.container 类用于固定宽度并支持响应式布局的容器。

<div class="container">
</div>

.container-fluid 类用于 100% 宽度,占据全部视窗口(viewport)的容器。

<div class="container-fluid">
</div>

②按钮类样式

.btn开头的类 给按钮添加不同类样式

<a class="btn btn-default" href="#" role="button">(默认样式)Default</a>
<button class="btn btn-primary" type="submit">(首选项)Primary</button>
<input class="btn btn-success" type="button" value="(成功)Success">
<input class="btn btn-info" type="submit" value="(一般信息)Info">

<button class="btn btn-warning" type="submit">(警告)Warning</button>
<button class="btn btn-danger" type="submit">(危险)Danger</button>
<button class="btn btn-link" type="submit">(链接)Link</button>

③表格类样式

.table

为任意 <table> 标签添加 .table 类可以为其赋予基本的样式 — 少量的内补(padding)和水平方向的分隔线

.table-striped

通过 .table-striped 类可以给 <tbody> 之内的每一行增加斑马条纹样式。

.table-bordered

添加 .table-bordered 类为表格和其中的每个单元格增加边框。

.table-hover

通过添加 .table-hover 类可以让 <tbody> 中的每一行对鼠标悬停状态作出响应。

④表单

单独的表单控件会被自动赋予一些全局样式。所有设置了 .form-control 类的 <input>、<textarea> 和 <select> 元素都将被默认设置宽度属性为 width: 100%;。 将 label 元素和前面提到的控件包裹在 .form-group 中可以获得最好的排列。

<form>
  <div class="form-group">
    <label for="exampleInputEmail1">Email address</label>
    <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email">
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">Password</label>
    <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
  </div>
  <div class="form-group">
    <label for="exampleInputFile">File input</label>
    <input type="file" id="exampleInputFile">
    <p class="help-block">Example block-level help text here.</p>
  </div>
  <div class="checkbox">
   <label>
      <input type="checkbox"> Check me out
   </label>
  </div>
  <button type="submit" class="btn btn-default">Submit</button>
</form>

⑤分页

<nav aria-label="Page navigation">
  <ul class="pagination">
    <li>
      <a href="#" aria-label="Previous">
        <span aria-hidden="true">«</span>
      </a>
    </li>
    <li><a href="#">1</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">5</a></li>
    <li>
      <a href="#" aria-label="Next">
        <span aria-hidden="true">»</span>
      </a>
    </li>
  </ul>
</nav>

2.4、Bootstrap插件

交互的效果要通过 JavaScript 来实现,Bootstrap 的插件在使用前,需要先引用两个 js 文件。

<script src="js/jquery-3.3.1.min.js"></script>
<script src="js/bootstrap.js"></script>

①模态框实现 cmdb项目中,资产管理-主机添加,使用到了模态框 JavaScript 插件 · Bootstrap v3 中文文档 | Bootstrap 中文网

第一步:获取官方的模态框demo

<div id="myModal" class="modal fade" tabindex="-1" role="dialog">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
        <h4 class="modal-title">Modal title</h4>
      </div>
     <div class="modal-body">
        <!-- 此处是在模态框中显示的内容 -->
        <p>One fine body…</p>
     </div>
     <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
    </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

第二步 点击按钮弹出模态框

设置按钮的属性data-target属性设置为模态框的id

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal">
  Launch demo modal
</button>

第三步 隐藏模态框

给 Save Changes 按钮的 id 属性设置值,myModal

$('#btn').click(function () {
  $('#myModal').modal('hide');
});

3、基于Bootstrap的案例

起步 · Bootstrap v3 中文文档 | Bootstrap 中文网

案例:快速实现一个资产管理,主机列表的页面

使用examples案例中的dashboard页面

第一步:使用模板页面

引入css

第二步:根据实际情况,修改html标签

查看最后呈现效果

实现点击按钮,模态框表单,操作按钮

三、Layer

官方文档地址:https://layer.layui.com/

1、部署使用

①解压之后,部署layer插件

②引入layer.js

③实现confirm效果

四、Ajax

1、ajax介绍

==Ajax== 即“==Asynchronous Javascript And XML==”(异步 JavaScript 和 XML)

创建交互式网页应用的网页开发的一组技术。

作用:==异步发送请求==,提升了用户体验。

2、使用jQuery发送AJAX

2.1、发送get请求

$.ajax({
  type: 'get',
  url: 'xxxxx',
  success: function (res) {
      //成功后执行的代码
  }
})

2.2、发送post请求

$.post('/path/to/file', {param1: 'value1'}, function(data, textStatus, xhr) {
      /*optional stuff to do after success */
});

2.3、Ajax方法

$.ajax({
  type: 'post',
  url: 'xxxxx',
  data: data,
  success: function (res) { 
      //成功执行的代码
  }
});

3、实现聊天机器人

API:http://www.tuling123.com/openapi/api

请求方法:POST

请求参数:key=d7c82ebd8b304abeacc73b366e42b9ed&info=你好

参数名称参数值
key请求权限标识符
info关键字参数

4、操作主机列表页面

4.1、接口服务器搭建

使用json-server启动一个接口服务器,借助node进行开发的。安装node系统环境。

①安装json-serser

cmd > npm install -g json-server

②编写json数据文件

③cmd进入路径,启动json-server服务

服务接口启动成功

4.2、动态获取主机列表

①复制主机列表 清空tbody的数据内容

②通过ajax发送请求 获取json格式数据 拼接字符串模板 追加写入页面

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

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

相关文章

Java----新手一步一步安装 Java 语言开发环境

查看原文 文章目录 一、基于 Windows 10 系统 安装配置 JDK8二、基于 CentOS7 系统安装配置 JDK8 一、基于 Windows 10 系统 安装配置 JDK8 &#xff08;1&#xff09;打开 JDK下载网站&#xff0c;根据系统配置选择版本&#xff0c;这里选择windows 64位的版本&#xff0c;点…

人工智能-A*算法-最优路径搜索实验

上次学会了《A*算法-八数码问题》&#xff0c;初步了解了A*算法的原理&#xff0c;本次再用A*算法完成一个最优路径搜索实验。 一、实验内容 1. 设计自己的启发式函数。 2. 在网格地图中&#xff0c;设计部分障碍物。 3. 实现A*算法&#xff0c;搜索一条最优路径。 二、A*算法实…

DDA 算法

CAD 算法是计算机辅助设计的算法&#xff0c;几何算法是解决几何问题的算法 CAD 算法是指在计算机辅助设计软件中使用的算法&#xff0c;用于实现各种设计和绘图功能&#xff0c;CAD 广泛应用于建筑、机械、电子等领域&#xff0c;可以大大提高设计效率和精度 绘图算法是 CAD…

关于多重背包的笔记

多重背包可以看作01背包的拓展&#xff0c; 01背包是选或者不选。多重背包是选0个一直到选s个。 for (int i 1; i < n; i) {for (int j m; j > w[i]; --j){f[j] max(f[j], f[j - 1*w[i]] 1*v[i], f[j - 2*w[i]] 2*v[i],...f[j - s*w[i]] s*v[i]);} } 由上述伪代码…

FL Studio2024mac电脑版本下载步骤教程

FL Studio2024是款专业的音频录制编辑软件&#xff0c;可以针对作曲者的要求编辑出不同音律的节奏&#xff0c;例如鼓、镲、锣、钢琴、笛、大提琴等等任何乐器的节奏律动。FL Studio目前在中国已经受到广大制作人喜爱&#xff0c;使用它制作的音乐作品也已经数不胜数&#xff0…

Leetcode的AC指南 —— 链表:24. 两两交换链表中的节点

摘要&#xff1a; Leetcode的AC指南 —— 链表&#xff1a;24. 两两交换链表中的节点。题目介绍&#xff1a;给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能…

计算机服务器中了360后缀勒索病毒怎么处理,勒索病毒解密数据恢复

网络技术的不断发展与应用&#xff0c;越来越多的企业开始走向数字化办公模式&#xff0c;极大地方便了企业的生产运营。但随之而来的网络安全威胁也在不断增加&#xff0c;在本月&#xff0c;云天数据恢复中心陆续接到很多企业的求助&#xff0c;企业的计算机服务器遭到了360后…

文心一言 VS 讯飞星火 VS chatgpt (158)-- 算法导论12.3 5题

五、用go语言&#xff0c;假设为每个结点换一种设计&#xff0c;属性 x.p 指向 x 的双亲&#xff0c;属性 x.succ 指向 x 的后继。试给出使用这种表示法的二叉搜索树 T 上 SEARCH、INSERT 和DELETE 操作的伪代码。这些伪代码应在 O(h) 时间内执行完&#xff0c;其中 h 为树 T 的…

函数式编程 h函数

<template><div><table border><tr><th>id</th><th>name</th><th>age</th><th>操作</th></tr><tr v-for"item in list" :key"item.id"><td>{{ item.id }}<…

wsl kafka的简单应用

安装并配置单机版kafka所需环境 wsl2 环境可用性较高&#xff0c;如下介绍在该环境中安装单机版本kafka的详细过程。 启动命令行工具启动wsl&#xff1a;wsl --user root --cd ~&#xff0c;&#xff08;以root用户启动&#xff0c;进入wsl后当前路径为~“用户主目录”&#…

3.3【窗口】窗口的几何形状(二,窗口属性)

写在前面 应用程序使用窗口来显示内容。一些属性决定了窗口及其内容的大小和位置。其他属性决定了窗口内容的外观和解释。 了解窗口属性引用的两个坐标系非常重要。如果你知道你正在使用的坐标系,那么为你的窗口属性选择设置值会容易得多,并且会更有意义。 一,显示相关属…

SpringBoot零基础入门到项目实战——学习路线规划与目录结构

文章目录 第一部分&#xff1a;Spring Boot基础第二部分&#xff1a;Web开发与RESTful API第三部分&#xff1a;数据访问与持久化第四部分&#xff1a;安全与身份验证第五部分&#xff1a;高级主题第六部分&#xff1a;测试总结与扩展实战项目练习 &#x1f389;欢迎来到Spring…

Storage engine MyISAM is disabled (Table creation is disallowed)

如何解决Storage engine MyISAM is disabled (Table creation is disallowed&#xff09; 在开发中&#xff0c;需要把mysql5.7的数据库&#xff0c;迁移到mysql8.0 的阿里云数据库上 把Mysql5.7的数据导入到8.0时&#xff0c;出现 解决方法 1、使用指令找出那些表是MyISAM引擎…

求解最大子段和问题

求解最大子段和问题。 对于给定序列a1,a2,a3……an,寻找它的某个连续子段&#xff0c;使得其和最大。如( -2,11,-4,13,-5,-2 )最大子段是{ 11,-4,13 }其和为20。 要求&#xff1a;分别用教材所给的三种方法求解&#xff08;简单方法、分治法、动态规划&#xff09;&#xff0…

【Redis】AOF 基础

因为 Redis AOF 的实现有些绕, 就分成 2 篇进行分析, 本篇主要是介绍一下 AOF 的一些特性和依赖的其他函数的逻辑,为下一篇 (Redis AOF 源码) 源码分析做一些铺垫。 AOF 全称: Append Only File, 是 Redis 提供了一种数据保存模式, Redis 默认不开启。 AOF 采用日志的形式来记…

指针必刷题(C语言指针就该这么学)【数据结构基础】【C语言指针必刷题】

前言&#xff1a;必备知识回忆 1.数组名的意义 i.sizeof(数组名&#xff09;&#xff0c;这里的数组名表示整个数组&#xff0c;计算的是整个数组的大小 ii.&数组名&#xff0c;这里的数组名表示整个数组&#xff0c;取出的是整个数组的地址 iii.除此之外&#xff0c;所…

基于urllib库的网页数据爬取

实验名称&#xff1a; 基于urllib库的网页数据爬取 实验目的及要求&#xff1a; 【实验目的】 通过本实验了解和掌握urllib库。 【实验要求】 1. 使用urllib库爬取百度搜索页面。 2. 使用urllib库获取百度搜索的关键字搜索结果&#xff08;关键字任选&#xff09;。 实验原理及…

电子元器件介绍——二极管(四)

电子元器件介绍 文章目录 电子元器件介绍前言一、二极管的基础知识二、二极管的分类三、二极管的应用总结 前言 这一节我们看一下二极管。 一、二极管的基础知识 PN结&#xff1a;是指一块半导体单晶&#xff0c;其中一部分是P型区&#xff0c;其余部分是N型区。 在电场作用…

C++ Qt开发:自定义Dialog对话框组件

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍自定义Dialog组件的常用方法及灵活运用。 在…

基于linux系统的Tomcat+Mysql+Jdk环境搭建(四)linux安装Mysql

1.切换到你需要安装mysql的路径 cd /root/usr/ 2.在线安装 安装网上的安装方式都有很多&#xff0c;可以自己百度一下 我们这里是自己搭建测试环境&#xff0c;可以直接选择在线安装&#xff0c;命令如下&#xff1a;yum install mysql-server&#xff0c; 但是我失败了 ┭┮…