<手写springboot>课程目标
时间: 2023-07-02 17:09:10 浏览: 49
《手写SpringBoot》课程的目标是让学生深入理解SpringBoot框架的实现原理和核心功能,掌握使用SpringBoot开发Web应用的方法和技巧。通过本课程的学习,学生将能够熟练掌握SpringBoot框架的核心原理和设计思想,掌握SpringBoot应用的开发流程和调试技巧,了解SpringBoot的常用组件和技术栈,以及掌握如何使用SpringBoot构建高可用、高性能的Web应用。同时,本课程还将重点讲解SpringBoot在企业级应用开发中的应用场景和实践经验,帮助学生更好地应对真实项目中的开发需求和挑战。
相关问题
修改成轮播图效果!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title></title> <style type="text/css"> div{ height: 500px; background-color: skyblue; display: none; } </style> </head> <body> <input type="button" value="显示"> <input type="button" value="隐藏"> <input type="button" value="切换"> <div> <ul> <li><img src="../images/1.jpg"></li> <li><img src="../images/2.jpg"></li> <li><img src="../images/3.jpg"></li> <li><img src="../images/4.jpg"></li> <li><img src="../images/5.jpg"></li> <li><img src="../images/6.jpg"></li> </ul> </div> <script src="../jquery-3.7.0.js"></script> <script type="text/javascript"> $(function(){ $("input").eq(0).click(function(){ // sildeDown(null/speed,easing,.callback) / sildeUP $("div").slideDown("slow",function(){ console.log("111111") }) }) $("input").eq(1).click(function(){ // sildeDown(null/speed,easing,.callback) / sildeUP $("div").slideUp("slow",function(){ console.log("111111") }) }) }) </script> </body> </html>
将这段代码修改成轮播图效果需要引入第三方库或者自己手写轮播图的 JS 代码。以下是手写轮播图的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title></title>
<style type="text/css">
.slider {
width: 600px;
height: 300px;
margin: 0 auto;
overflow: hidden;
position: relative;
}
.slider ul {
width: 3000px;
height: 300px;
position: absolute;
left: 0;
top: 0;
}
.slider li {
float: left;
width: 600px;
height: 300px;
}
.slider img {
width: 100%;
height: 100%;
}
.slider .prev,
.slider .next {
width: 50px;
height: 50px;
background-color: black;
color: white;
text-align: center;
line-height: 50px;
font-size: 20px;
position: absolute;
top: 50%;
margin-top: -25px;
cursor: pointer;
}
.slider .prev {
left: 0;
}
.slider .next {
right: 0;
}
</style>
</head>
<body>
<div class="slider">
<ul>
<li><img src="../images/1.jpg" alt=""></li>
<li><img src="../images/2.jpg" alt=""></li>
<li><img src="../images/3.jpg" alt=""></li>
<li><img src="../images/4.jpg" alt=""></li>
<li><img src="../images/5.jpg" alt=""></li>
<li><img src="../images/6.jpg" alt=""></li>
</ul>
<span class="prev">❮</span>
<span class="next">❯</span>
</div>
<script src="../jquery-3.7.0.js"></script>
<script type="text/javascript">
$(function () {
var index = 0;
var timer = null;
var len = $(".slider li").length;
function showImg(index) {
$(".slider li").eq(index).fadeIn().siblings().fadeOut();
}
function autoPlay() {
timer = setInterval(function () {
index++;
if (index == len) {
index = 0;
}
showImg(index);
}, 2000);
}
$(".slider").hover(
function () {
clearInterval(timer);
},
function () {
autoPlay();
}
);
$(".prev").click(function () {
index--;
if (index == -1) {
index = len - 1;
}
showImg(index);
});
$(".next").click(function () {
index++;
if (index == len) {
index = 0;
}
showImg(index);
});
autoPlay();
});
</script>
</body>
</html>
```
这段代码实现了一个简单的轮播图,通过点击左右箭头或者自动播放来切换图片。其中,`.slider` 是轮播图的容器,`.slider ul` 是所有图片的容器,`.slider li` 是每张图片的容器,`.slider img` 是每张图片本身。点击左右箭头时,通过改变 `index` 的值来切换图片,`showImg()` 函数用于切换图片的动画效果。自动播放时,通过 `setInterval` 来循环切换图片。同时,也实现了当鼠标移到轮播图上时停止自动播放,鼠标移开后继续自动播放的功能。
修改以下代码增加表格分页 let popup = document.createElement('div'); let table = document.createElement('table'); let thead = document.createElement('thead'); let tbody = document.createElement('tbody'); let tableHead = '<tr><th>映射对象id</th><th>映射对象类型</th><th>映射对象名称</th><th>操作</th></tr>'; let tableBody = '' for (let i = 0; i < dom.tableData.length; i++) { const obj = dom.tableData[i] tableBody = tableBody + '<tr><td style="text-align: center;">'+ obj.dataId +'</td><td style="text-align: center;">'+ obj.type +'</td><td style="text-align: center;">'+ obj.dataName +'</td><td style="text-align: center;"><button class="info-btn" data-dataid="'+ obj.dataId +'" data-type="'+ obj.type +'" data-dataname="'+ obj.dataName +'">查看</button></td></tr>' } thead.innerHTML = tableHead; tbody.innerHTML = tableBody; table.appendChild(thead); table.appendChild(tbody); popup.appendChild(table);
可以使用第三方库或者手写实现分页功能。以下是手写实现的示例代码:
1. 在HTML中添加分页元素
```
<div id="pagination"></div>
```
2. 修改代码增加分页逻辑
```
let popup = document.createElement('div');
let table = document.createElement('table');
let thead = document.createElement('thead');
let tbody = document.createElement('tbody');
let currentPage = 1; // 当前页
let pageSize = 10; // 每页显示的数据量
// 根据当前页和每页显示的数据量,截取数据
let startIndex = (currentPage - 1) * pageSize;
let endIndex = startIndex + pageSize;
let tableData = dom.tableData.slice(startIndex, endIndex);
let tableHead = '<tr><th>映射对象id</th><th>映射对象类型</th><th>映射对象名称</th><th>操作</th></tr>';
let tableBody = '';
for (let i = 0; i < tableData.length; i++) {
const obj = tableData[i];
tableBody = tableBody + '<tr><td style="text-align: center;">'+ obj.dataId +'</td><td style="text-align: center;">'+ obj.type +'</td><td style="text-align: center;">'+ obj.dataName +'</td><td style="text-align: center;"><button class="info-btn" data-dataid="'+ obj.dataId +'" data-type="'+ obj.type +'" data-dataname="'+ obj.dataName +'">查看</button></td></tr>';
}
thead.innerHTML = tableHead;
tbody.innerHTML = tableBody;
table.appendChild(thead);
table.appendChild(tbody);
popup.appendChild(table);
// 计算总页数
let totalPages = Math.ceil(dom.tableData.length / pageSize);
// 生成分页按钮
let pagination = document.getElementById('pagination');
for (let i = 1; i <= totalPages; i++) {
let btn = document.createElement('button');
btn.innerText = i;
btn.onclick = function() {
currentPage = i;
renderTable();
}
pagination.appendChild(btn);
}
function renderTable() {
// 清空表格和分页按钮
table.innerHTML = '';
pagination.innerHTML = '';
// 根据当前页和每页显示的数据量,截取数据
let startIndex = (currentPage - 1) * pageSize;
let endIndex = startIndex + pageSize;
let tableData = dom.tableData.slice(startIndex, endIndex);
let tableBody = '';
for (let i = 0; i < tableData.length; i++) {
const obj = tableData[i];
tableBody = tableBody + '<tr><td style="text-align: center;">'+ obj.dataId +'</td><td style="text-align: center;">'+ obj.type +'</td><td style="text-align: center;">'+ obj.dataName +'</td><td style="text-align: center;"><button class="info-btn" data-dataid="'+ obj.dataId +'" data-type="'+ obj.type +'" data-dataname="'+ obj.dataName +'">查看</button></td></tr>';
}
tbody.innerHTML = tableBody;
table.appendChild(tbody);
popup.appendChild(table);
// 重新生成分页按钮
for (let i = 1; i <= totalPages; i++) {
let btn = document.createElement('button');
btn.innerText = i;
btn.onclick = function() {
currentPage = i;
renderTable();
}
pagination.appendChild(btn);
}
}
renderTable();
```