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

JS和CSS实现的原生轮播图

 JS+CSS实现滑动轮播图

使用JS加CSS来实现的幻灯片,主要使用的是CSS的transform属性中的translate来实现,适合与用户交互的轮播图,展现轮播图的数量,用户可自由进行选择。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;list-style: none;}.cardBox {width: 600px;height: 300px;box-shadow: 0 0 10px gray;border-radius: 5px;margin: 100px auto;position: relative;overflow: hidden;}.imgBox {width: 3600px;height: 300px;transition: all 1s;transform: translateX(0px);}.item {width: 600px;height: 300px;float: left;}.item img {width: 100%;}.btn {width: 20px;height: 20px;top: calc(50% - 20px);border-right: solid white;border-top: solid white;position: absolute;z-index: 99;opacity: .6;cursor: pointer;}.btn:hover {opacity: 1;}.left {left: 15px;transform: rotate(-135deg);}.right {right: 15px;transform: rotate(45deg);}.pointBox {display: flex;width: 50%;position: absolute;bottom: 15px;left: 50%;transform: translateX(-50%);justify-content: center;}.pointBox li {width: 8px;height: 8px;border-radius: 50%;background: gray;margin: 0 10px;opacity: .7;cursor: pointer;}.pointBox li:hover {opacity: 1;background-color: white;}</style>
</head><body><div class="cardBox"><div class="btn left"></div><div class="btn right"></div><ul class="imgBox"><li class="item"><img src="https://img2.baidu.com/it/u=2988589017,2923917558&fm=253&fmt=auto&app=120&f=JPEG?w=1280&h=800" alt=""></li><li class="item"><img src="https://img2.baidu.com/it/u=3867960631,2923014190&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500" alt=""srcset=""></li><li class="item"><img src="https://img0.baidu.com/it/u=891036130,2043934807&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500" alt=""srcset=""></li><li class="item"><img src="https://img1.baidu.com/it/u=1304255642,2961408783&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500" alt=""srcset=""></li><li class="item"><img src="https://img0.baidu.com/it/u=3822016102,3026244821&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=281" alt=""srcset=""></li><li class="item"><img src="https://img1.baidu.com/it/u=847956157,2750448390&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500" alt=""srcset=""></li></ul><ul class="pointBox"><li></li><li></li><li></li><li></li><li></li><li></li></ul></div><script>let card = document.querySelector('.cardBox ul')let cardBox = document.querySelector('.cardBox')let items = document.querySelectorAll(".item")let leftBtn = document.querySelector(".left")let rightBtn = document.querySelector(".right")let points = document.querySelectorAll(".pointBox li")let index = 0items.forEach((item, index) => {let translateX = index * 600item.style.left = `${translateX}px`})let timer = nullpoints[index].style.background = 'white'points[index].style.width = '16px'points[index].style.borderRadius = '5px'const initInterval = () => {timer = setInterval(() => {index++let pointIndex = index;points[pointIndex].style.background = 'white'points[pointIndex].style.width = '16px'points[pointIndex].style.borderRadius = '5px'if (pointIndex == 0) {points[5].style.background = 'gray'points[5].style.width = '8px'} else {points[pointIndex - 1].style.background = 'gray'points[pointIndex - 1].style.width = '8px'}let translateX = -index * 600card.style.transform = `translateX(${translateX}px)`if (index >= 5) {index = -1}}, 3000);}initInterval()cardBox.addEventListener("mouseover", () => {clearInterval(timer)})cardBox.addEventListener("mouseout", () => {initInterval()})// btn.addEventListener("mouseout", () => {//   initInterval()// })leftBtn.onclick = function () {if (timer) {clearInterval(timer)}if (index <= 0) {index = 6}index--let translateX = -index * 600card.style.transform = `translateX(${translateX}px)`}rightBtn.onclick = function () {if (timer) {clearInterval(timer)}index++let translateX = -index * 600card.style.transform = `translateX(${translateX}px)`if (index >= 5) {index = -1}}points.forEach((item, i) => {item.onclick = () => {points.forEach(element => {element.style.background = 'gray'element.style.width = '8px'element.style.borderRadius = '50%'});item.style.background = 'white'item.style.width = '16px'item.style.borderRadius = '5px'index = i;let translateX = -index * 600card.style.transform = `translateX(${translateX}px)`}})</script>
</body></html>

 

 

JS+CSS实现浅入浅出轮播图

使用CSS的动画属性以及透明度属性来进行设置,显示轮播图数量,通过点击轮播图中的索引点来切换轮播图。适合需要和用户交互的简单轮播图

相关文章:

JS和CSS实现的原生轮播图

JSCSS实现滑动轮播图 使用JS加CSS来实现的幻灯片&#xff0c;主要使用的是CSS的transform属性中的translate来实现&#xff0c;适合与用户交互的轮播图&#xff0c;展现轮播图的数量&#xff0c;用户可自由进行选择。 <!DOCTYPE html> <html lang"en">&…...

【微服务】skywalking自定义链路追踪与日志采集

目录 一、前言 二、自定义链路追踪简介 2.1 自定义链路追踪应用场景 2.2 链路追踪几个关键概念 三、skywalking 自定义链路追踪实现 3.1 环境准备 3.2 集成过程 3.2.1 导入核心依赖 3.2.2 几个常用注解 3.2.3 方法集成 3.2.4 上报追踪信息 四、skywalking 自定义日志…...

MYSQL基础问题

一&#xff0e;DBMS 是什么 DBMS&#xff08;Database Management System&#xff09;,数据库管理系统&#xff0c;是一种操纵和管理 数据库的大型软件&#xff0c;用于建立、使用和维护数据库。对数据库进行统一的管理和 控制&#xff0c;以保证数据库的安全性和完整性。 二…...

SpringBoot使用Guava实现日志脱敏(含源码)

点击下载《SpringBoot使用Guava实现日志脱敏&#xff08;含源码&#xff09;》 1. 摘要 本文将介绍如何使用Google Guava库进行日志脱敏&#xff0c;保护敏感数据的安全。我们将详细解释脱敏的必要性&#xff0c;然后介绍如何使用Guava中的Strings、Maps和CharMatcher类来进行…...

数据结构—动态查找

动态查找介绍 1. 动态查找的引入&#xff1a;当查找表以线性表的形式组织时&#xff0c;若对查找表进行插入、删除或排序操作&#xff0c;就必须移动大量的记录&#xff0c;当记录数很多时&#xff0c;这种移动的代价很大。 2. 动态查找表的设计思想&#xff1a;表结构本身是…...

Tarjan算法学习笔记

目录 无向图的割点与桥 时间戳&#xff1a; 搜索树&#xff1a; 追溯值&#xff1a; 割边判定法则&#xff1a; 割点判定法则&#xff1a; 无向图的双连通分量 定理&#xff1a; 边双连通分量(e-DCC)的求法&#xff1a; e-DCC的缩点&#xff1a; 有向图的连通性 追…...

vue 项目涉及的焦点聚焦、格式化日期、判断是否为对象或数组、判断是否为空、深拷贝、节流、防抖

焦点聚焦 import Vue from vue // 插件对象(必须有 install 方法, 才可以注入到 Vue.use 中) export default {install () {Vue.directive(fofo, {inserted (el) {el el.querySelector(input)el.focus()}})} }格式化日期格式 export const formatDate (time) > {// 将xx…...

软件工程知识梳理6-运行和维护

软件维护需要的工作量很大&#xff0c;大型软件的维护成本高达开发成本的4倍左右。所以&#xff0c;软件工程的主要目的就是要提高软件的可维护性&#xff0c;减少软件维护所需要的工作量&#xff0c;降低软件系统的总成本。 定义&#xff1a;软件已经交付使用之后&#xff0c;…...

docker- php7.4

安装 gd拓展 anzhuanga在Dockerfile里面安装php7.4的GD库 - 知乎 apt update apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-devdocker-php-source extractdocker-php-ext-configure gd \ --with-jpeg/usr/include \ --with-freetype/usr/include/docker-…...

开发一个Android App,在项目中完成添加联系人的功能,通过ContentResolver向系统中添加联系人信息。

实现步骤&#xff1a; &#xff08;1&#xff09;添加动态联系人的权限。 &#xff08;2&#xff09;创建Activity和布局文件&#xff0c;添加输入框和按钮等控件。 &#xff08;3&#xff09;完成添加联系人的功能。 代码文件如下&#xff1a; activity_main.xml文件 <!…...

Flume搭建

压缩包版本&#xff1a;apache-flume-1.9.0-bin.tar 百度盘链接&#xff1a;https://pan.baidu.com/s/1ZhSiePUye9ax7TW5XbfWdw 提取码&#xff1a;ieks 1.解压 tar -zxvf /opt/software/apache-flume-1.9.0-bin.tar.gz -C /opt/module/ 2. 修改文件名 [rootbigdata1 opt]…...

Web APIs 1 DOM操作

Web APIs 1 引入&#xff1a;const优先Web API 基本认知01 作用和分类02 什么是DOM03 DOM树04 DOM对象 获取DOM对象01 根据CSS选择器获取02 其他获取DOM元素方法 操作元素内容01 innerText 属性02 innerHTML 属性 操作元素属性操作元素的常用属性操作元素的样式属性操作表单元素…...

dvwa,xss反射型lowmedium

xss&#xff0c;反射型&#xff0c;low&&medium low发现xss本地搭建实操 medium作为初学者的我第一次接触比较浅的绕过思路high low 发现xss 本关无过滤 <script>alert(/xss/)</script> //或 <script>confirm(/xss/)</script> //或 <scr…...

从云计算到物联网:虚拟化技术的演变与嵌入式系统的融合

文章目录 一、硬件性能提升&#xff1a;摩尔定律与嵌入式虚拟化二、CPU多核技术&#xff1a;为嵌入式虚拟化提供支持三、业务负载整合&#xff1a;嵌入式虚拟化的核心需求四、降低硬件成本&#xff1a;虚拟化技术的经济效益五、软件重用与移植&#xff1a;虚拟化技术的优势六、…...

linux 文件查看 head 、 cat 、 less 、tail 、grep

查看文件详细信息 stat 文件 cat 》》适合显示小文件【行数比较少】&#xff0c;如果行数较多&#xff0c;屏幕显示不完整&#xff08;如果虚拟操作&#xff0c;是无法上下键的&#xff0c;或者滚动鼠标的&#xff0c;第三方 xsheel&#xff0c;crt 可以方向键查看&#xf…...

13.2 Web与Servlet进阶(❤❤)

13.2 Web与Servlet进阶 1. 请求与响应1.1 URL与URI1.2 HTTP请求的结构1. 结构2.后端获取访问工具类型:getHeader().toLowerCase方法1.3 响应的结构1. 结构2. 响应常见状态码3. 后端设置响应参数4. 响应的ContentType作用1.4 请求转发与响应重定向应用1. 请求转发:getRequestDis…...

记录解决报错--vue前后端分离,接口401(Unauthorized)

1.场景 前端访问不了后端接口。报错401。 2.解决步骤 ①在页面console.log(111)查看走到代码的位置没有。&#xff08;走到了&#xff0c;没问题&#xff09; ②查看vue.config.js配置。这段配置就是vue访问api的url。&#xff08;没问题&#xff09; devServer: {port: 80…...

【笔记】Android 常用编译模块和输出产物路径

模块&产物路径 具体编译到软件的路径要看编译规则的分区&#xff0c;代码中模块编译输出的产物基本对应。 Android 代码模块 编译产物路径设备adb路径Comment 模块device/mediatek/system/common/ 资源overlay/telephony/frameworks/base/core 文件举例res/res/values-m…...

部署私有知识库项目FastGPT

FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景。 项目文档: [快速了解 FastGpt | FastGptFastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即…...

【2024-02-02】华为秋招笔试三道编程题解

恭喜发现宝藏&#xff01;搜索公众号【TechGuide】回复公司名&#xff0c;解锁更多新鲜好文和互联网大厂的笔经面经。 作者TechGuide【全网同名】 订阅专栏&#xff1a; 【专享版】2024最新大厂笔试真题解析&#xff0c;错过必后悔的宝藏资源&#xff01; 第一题&#xff1a;找…...

杰理之在音乐模式下播放音乐一首歌曲结束后会出现异常死机【篇】

媒体配置iis输出...

课题申请:如何在评审专家的“黄金三分钟”内锁定胜局?

基金申报的战场硝烟弥漫&#xff0c;每一位科研人员都深知&#xff0c;一份标书的命运往往掌握在评审专家的手中。然而&#xff0c;现实情况是&#xff0c;评审工作极其繁重&#xff0c;专家们需要在短时间内审阅大量本子。据统计&#xff0c;评审专家在立项依据部分的停留时间…...

Open UI5 源代码解析之885:OverflowToolbarAssociativePopoverControls.js

源代码仓库: https://github.com/SAP/openui5 源代码位置:src\sap.m\src\sap\m\OverflowToolbarAssociativePopoverControls.js OverflowToolbarAssociativePopoverControls.js 深度解析 文件定位与总体结论 OverflowToolbarAssociativePopoverControls.js 是 sap.m 里一…...

Android Topeka数据模型设计终极指南:Quiz、Category与Player类深度解析

Android Topeka数据模型设计终极指南&#xff1a;Quiz、Category与Player类深度解析 【免费下载链接】topeka A fun to play quiz that showcases material design on Android 项目地址: https://gitcode.com/gh_mirrors/to/topeka Topeka是一款基于Material Design的An…...

B站成分检测器深度解析:5大革新特性重塑评论区交互体验

B站成分检测器深度解析&#xff1a;5大革新特性重塑评论区交互体验 【免费下载链接】bilibili-comment-checker B站评论区自动标注成分油猴脚本&#xff0c;主要为原神玩家识别 项目地址: https://gitcode.com/gh_mirrors/bi/bilibili-comment-checker 在B站的海量评论互…...

500元预算搞定无人机高清图传?手把手教你用OpenIPC+SSC338Q+IMX415攒一套(附硬件清单与避坑指南)

500元预算打造无人机高清图传&#xff1a;OpenIPCSSC338QIMX415实战手册 当大多数无人机爱好者还在为动辄上千元的专业图传设备犹豫时&#xff0c;一群极客已经用开源方案将成本压缩到惊人的500元区间。这不仅是预算的胜利&#xff0c;更代表着硬件DIY文化的精髓——用智慧填补…...

JPEGView:1MB实现效率革命的图像工具全指南

JPEGView&#xff1a;1MB实现效率革命的图像工具全指南 【免费下载链接】jpegview Fork of JPEGView by David Kleiner - fast and highly configurable viewer/editor for JPEG, BMP, PNG, WEBP, TGA, GIF and TIFF images with a minimal GUI. Basic on-the-fly image proces…...

PyTorch 2.5 入门必备:开箱即用镜像快速上手指南

PyTorch 2.5 入门必备&#xff1a;开箱即用镜像快速上手指南 1. 为什么选择PyTorch 2.5镜像&#xff1f; 深度学习环境配置一直是新手入门的第一道门槛。传统的手动安装方式需要处理CUDA驱动、cuDNN、Python包依赖等一系列复杂问题&#xff0c;往往耗费数小时甚至数天时间。P…...

2026年10款高效AI写小说软件全面测评,快速解决卡文与大纲难题(含实测体验)

经常有新人问我&#xff1a;现在ai写小说到底靠不靠谱&#xff1f;是不是生成的都是没有感情的机器味&#xff1f; 说实话&#xff0c;前两年我觉得不行&#xff0c;但到了2026年&#xff0c;如果你还不会用AI辅助&#xff0c;真的会比别人慢半个身位。从灵感枯竭到大纲崩坏&a…...

liunx的编译与链接(7)

1.条件编译的现实用途1.软件根据收费情况进行条件编译来对代码进行动态裁剪2.不同硬件所需的内核代码不同&#xff0c;可以采用条件编译来进行代码裁剪3.开发工具&#xff0c;应用软件的代码采用条件编译来适配不同的操作系统2.要转换为汇编语言的原因是历史导致代码的本质是操…...