1.bootstrap轮播图

最近开发了个网站需要用到轮播图,正好前端用的是Bootstrap,这里就实战一下。
水平一般能力有限,仅供参考。
前提条件:

  • bootstrap4.5
  • jquery
  • 3张大小适中图片

实现效果:

代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>bootstrap轮播图实战</title>
<link
href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.3/css/bootstrap.min.css"
rel="stylesheet"
/> <style type="text/css">
.carousel-item {
height: 400px;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-lg-8">
<div
id="carouselExampleIndicators"
class="carousel slide"
data-ride="carousel"
data-interval="1500"
>
<ol class="carousel-indicators">
<li
data-target="#carouselExampleIndicators"
data-slide-to="0"
class="active"
></li>
<li
data-target="#carouselExampleIndicators"
data-slide-to="1"
></li>
<li
data-target="#carouselExampleIndicators"
data-slide-to="2"
></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="data:images/s1.jpg" class="d-block w-100" alt="..." />
</div>
<div class="carousel-item">
<img src="data:images/s2.jpg" class="d-block w-100" alt="..." />
</div>
<div class="carousel-item">
<img src="data:images/s3.jpg" class="d-block w-100" alt="..." />
</div>
</div>
<a
class="carousel-control-prev"
href="#carouselExampleIndicators"
role="button"
data-slide="prev"
>
<span
class="carousel-control-prev-icon"
aria-hidden="true"
></span>
<span class="sr-only">Previous</span>
</a>
<a
class="carousel-control-next"
href="#carouselExampleIndicators"
role="button"
data-slide="next"
>
<span
class="carousel-control-next-icon"
aria-hidden="true"
></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
</div>
</div> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.3/js/bootstrap.min.js"></script>
</body>
</html>

2.实现动态可配置轮播图

静态的轮播图不是最终目的,下面就结合spring boot+thymeleaf+bootstrap来实现个动态轮播图,支持在后台动态添加扩展轮播图。

数据接口

@PostMapping("list")
@ResponseBody
public Object list(String gridPager) {
Pager pager = JsonUtil.getObjectFromJson(gridPager, Pager.class);
Map<String, Object> parameters = null;
if(Validator.isNullOrEmpty(pager.getParameters())){
parameters = new HashMap<>();
}else{
parameters = pager.getParameters();
}
// 构建查询条件
QueryWrapper<Slide> queryWrapper = new QueryWrapper<>();
queryWrapper.allEq(parameters);
Page<Slide> list = (Page<Slide>) slideService.page(new Page<Slide>(pager.getNowPage(), pager.getPageSize()), queryWrapper);
makeGridResult(parameters, pager, list);
return parameters;
}
  • 数据结构
[{
"createTime": 1606661677000,
"createUser": "admin",
"id": 2,
"img": "/api/file/img/2020_12_4aea68629ddc4f5db015402bfcbccabe.png",
"summary": "",
"title": "Spring Boot图书管理系统",
"updateTime": 1607838814000,
"updateUser": "admin",
"url": "/article/32"
}, {
"createTime": 1606661712000,
"createUser": "admin",
"id": 3,
"img": "/api/file/img/2020_12_f6142c52c9394181b117a7974fb21528.png",
"summary": "",
"title": "Python文件上传下载",
"updateTime": 1607839295000,
"updateUser": "admin",
"url": "/article/34"
}]

前端代码

<!--轮播图-->
<div class="col-lg-8">
<div class="carousel slide" id="carousel-pic" data-ride="carousel" data-interval="1500">
<ol class="carousel-indicators">
<li th:each="slide,stat:${session.slideList}" th:class="${stat.index==0}?'active'" th:attr="data-slide-to=${stat.index}" data-target="#carousel-pic">
</li>
</ol>
<div class="carousel-inner">
<div class="item" th:each="slide,stat:${session.slideList}" th:classappend="${stat.index==0}? 'active'">
<a href="https://blog.csdn.net/indexman/article/category/8483626" th:href="${slide.url}" target="_blank">
<img alt="" th:src="${slide.img}"/>
<div class="carousel-caption">
<h4 th:text="${slide.title}">
Spring Boot
</h4>
<p th:text="${slide.summary}">
Spring Boot是当下最流行的Java企业级应用开发框架,学习Spring Boot尽在此站。
</p>
</div>
</a>
</div>
</div>
<a data-slide="prev" href="#carousel-pic" class="left carousel-control" role="button">
<span class="glyphicon glyphicon-chevron-left"></span>
</a>
<a data-slide="next" href="#carousel-pic" class="right carousel-control" role="button">
<span class="glyphicon glyphicon-chevron-right"></span>
</a>
</div>
<div class="list-group" id="submenu-list">
</div>
</div>

实现效果

spring boot+bootstrap实现动态轮播图实战的更多相关文章

  1. 2.bootstrap练习笔记-轮播图

    bootstrap练习笔记-轮播图 1.要使用轮播图,首先要将其放在一个主div里面 设置id为myCaroysel class为carousel slide 设置id是标识这个div是轮播图,等到l ...

  2. js轮播图和bootstrap中的轮播图

    js中的轮播图案例: <!DOCTYPE html><html lang="en"> <head> <meta charset=" ...

  3. (新手向)基于Bootstrap的简单轮播图的手机实现

    个人电脑里存了不少适合手机欣赏的图片,但是放手机里看是件很占据资源的事.鉴于家里有一台电脑经常开着,正好用来做家庭局域网共享,于是笔者就设想通过一种比较简单环保的思路.通过手机访问电脑内的图片. 首先 ...

  4. Bootstrap插件-carousel(轮播图)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 移动web——bootstrap响应式轮播图

    基本介绍 1.bootstrap有轮播图的模板,我们只需要改动下就行. 2.这里我们将介绍桌面版本和移动版本最后是综合版本 桌面版本 1.这里的图片设置是有窍门的,不再去添加img标签,而是作为a标签 ...

  6. JavaScript实现动态轮播图效果

    功能描述: 1.鼠标经过 左右侧箭头显示,鼠标离开 箭头隐藏 2.动态添加底部小圆圈并绑定单击事件,并且让小圆圈的点击事件和左右箭头点击事件同步 3.拷贝第一张图片添加到ul最后可以实现动态添加图片 ...

  7. JS 实现动态轮播图

    JavaScript实现轮播图思路 + html/css + js源码 整个轮播图的效果是通过js代码,操作dom, 拿到html我们需要的元素,控制整个ul的距离浏览器左边的位置,让排好的图片依次出 ...

  8. Bootstrap 我的学习记录4 轮播图的使用和理解

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  9. Bootstrap 轮播图的使用和理解

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  10. 原生JS实现移动端轮播图

    功能描述: 自动无缝轮播图片,底部小圆点跟图片保持一致:手指左右移动轮播图,移动距离大于50px播放下一张(或上一张),小于50px则回弹 具体功能实现: 1.定时器 自动轮播图片 先声明一个inde ...

随机推荐

  1. WebStrom中解决中文乱码——2021050

    1.首先将IDE Encoding,Project Encoding和下面的Default Encoding for properties file设置为utf-8 2.在HTML中添加 <me ...

  2. [转帖]nginx中rewrite和if的用法及配置

    nginx中rewrite和if的用法及配置 文章目录 nginx中rewrite和if的用法及配置 @[toc] 一.rewrite应用 1.rewrite跳转场景 2.rewrite实际场景 3. ...

  3. [转帖]TiKV & TiDB相关笔记

    https://www.jianshu.com/p/1141be233bb2 一.TiKV存储 简述 通过单机的 RocksDB,TiKV 可以将数据快速地存储在磁盘上:通过 Raft,将数据复制到多 ...

  4. [转帖]win10下使用Rclone将OneDrive映射到本地磁盘教程(开机自动挂载)

    win10下使用Rclone将OneDrive映射到本地磁盘教程(开机自动挂载) 下载rclone,winfsp和Git bash Rclone. Winfsp. 和 [Git bash](https ...

  5. [转帖]centos7离线安装postgresql13

    https://www.cnblogs.com/summer-88/p/15341918.html 在一台可以联网的centos上安装postgresql源 yum install -y https: ...

  6. [转帖]《Linux性能优化实战》笔记(一)—— 平均负载

    最近在看极客时间的<Linux性能优化实战>课程,记录下学习内容. 一. 平均负载(Load Average) 1. 概念 我们都知道uptime命令的最后三列分别是过去 1 分钟.5 分 ...

  7. 【转帖】ESXI上安装和使用MegaCli

    https://www.diewufeiyang.com/post/964.html 一.第一步获取安装文件,官网目前搜索也找不到了,这里附件提供之前保存的安装文件 点击下载 二.使用VMware v ...

  8. 取消ts校验的注释

    常用的有以下注释 单行忽略 // @ts-ignore 忽略全文:如果你使用这样,需要放在ts的最顶部哈. // @ts-nocheck 如下 <script lang="ts&quo ...

  9. vue结合elementUI折叠展开效果动画

    组件 <template> <div class="hide-page-com"> <ul class="tab-tilte"&g ...

  10. TienChin 渠道管理-查看渠道接口

    自定义 hasPermission 校验规则 自定义一个 Spring Security hasPermission 校验规则: 在 tienchin-framework 模块当中进行自定义,新建 C ...