htnl根据轮播图图片切换背景色
htnl根据轮播图图片切换背景色
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>轮播图示例</title><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@10/swiper-bundle.min.css" /><script src="https://cdn.jsdelivr.net/npm/swiper@10/swiper-bundle.min.js"></script><style>.swiper-container {width: 80%;height: 300px;overflow: hidden;}.swiper-slide {width: 100%;height: 100%;background-size: cover;background-position: center;}</style>
</head><body><div class="swiper-container"><div class="swiper-wrapper"><div class="swiper-slide" style="background-image: url(./img/1.png);"></div><div class="swiper-slide" style="background-image: url(./img/2.png);"></div><div class="swiper-slide" style="background-image: url(./img/3.png);"></div></div></div><script>// 获取轮播图容器const swiperContainer = document.querySelector('.swiper-container');// 初始化 Swiper 实例const swiper = new Swiper(swiperContainer, {autoplay: true,loop: true,on: {slideChangeTransitionEnd: function () {// 获取当前轮播图的背景图片 URLconst currentSlide = this.slides[this.activeIndex];const backgroundImage = currentSlide.style.backgroundImage;// 创建一个 Image 对象const img = new Image();img.src = backgroundImage.slice(5, -2);// 等待图片加载完成img.onload = function () {// 创建一个 Canvas 元素const canvas = document.createElement('canvas');canvas.width = img.width;canvas.height = img.height;// 在 Canvas 上绘制图片const ctx = canvas.getContext('2d');ctx.drawImage(img, 0, 0);// 获取图片的像素数据const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);const colors = {};for (let i = 0; i < imageData.data.length; i += 4) {const r = imageData.data[i];const g = imageData.data[i + 1];const b = imageData.data[i + 2];const color = `${r},${g},${b}`;if (colors[color]) {colors[color]++;} else {colors[color] = 1;}}const dominantColor = Object.keys(colors).reduce((a, b) => colors[a] > colors[b] ? a : b);// 设置页面背景色document.body.style.backgroundColor = `rgb(${dominantColor})`;};}}});</script>
</body></html>
相关文章:
htnl根据轮播图图片切换背景色
htnl根据轮播图图片切换背景色 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>轮播图示例</title><link rel"stylesheet" href"https://cdn.jsdelivr.net/npm/swiper10/swiper-bundle.min.css&q…...
gpu-manager安装及测试
提示:GPU-manager安装为主部分内容做了升级开箱即用,有用请点收藏❤抱拳 文章目录 前言一、约束条件二、使用步骤1.下载镜像1.1 查看当前虚拟机的驱动类型: 2.部署gpu-manager3.部署gpu-admission4.修改kube-scheduler.yaml![在这里插入图片描…...
Go和Java实现享元模式
Go和Java实现享元模式 下面通过一个实例来说明享元模式的使用。 1、享元模式 享元模式主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提 供了减少对象数量从而改善应用所需的对象结构的方式。 享元模式…...
Zookeeper特性与节点数据类型详解
CAP&Base理论 CAP理论 cap理论是指对于一个分布式计算系统来说,不可能满足以下三点: 一致性 : 在分布式环境中,一致性是指数据在多个副本之间是否能够保持一致的 特性,等同于所有节点访问同一份最新的数据副本。在一致性的需…...
函数的递归
1、什么是递归? 程序调用自身的编程技巧称为递归。 递归作为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解&#x…...
Android T 窗口层级其二 —— 层级结构树的构建(更新中)
如何通过dump中的内容找到对应的代码? 我们dump窗口层级发现会有很多信息,adb shell dumpsys activity containers 这里我们以其中的DefaultTaskDisplayArea为例 在源码的framework目录下查找该字符串,找到对应的代码就可以通过打印堆栈或者…...
ASIC芯片设计全流程项目实战课重磅上线 ,支持 65nm制程流片 !
全流程项目实战课学什么? 此次推出【 ASIC芯片设计全流程项目实战课】,基于IPA图像处理加速器,以企业级真实ASIC项目为案例,学员可参与全流程项目实践,以及65nm真实流片! 众所周知,放眼整个IC硕…...
背上沉重的书包准备run之react篇
沉重,太沉重了。。。没理好捏,等我脑子歇歇再好好补充一下 react特性? React 是一个用于构建用户界面的 JavaScript 库,它具有以下特性: 组件化开发:React 基于组件化思想,将 UI 拆分为独立、…...
LAMP及论坛搭建
一、概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或…...
php-cgi.exe - FastCGI 进程超过了配置的请求超时时限
解决方案一: 处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题 内容转载: 处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题_php技巧_脚本之家 【详细错误】: HTTP 错误 500.0 - Internal Server Error C:…...
linux系统虚拟主机开启支持SourceGuardian(sg11)加密组件
注意:sg11我司只支持linux系统虚拟主机自主安装。支持php5.3及以上版本。 1、登陆主机控制面板,找到【远程文件下载】这个功能。 2、远程下载文件填写http://download.myhostadmin.net/vps/sg11_for_linux.zip 下载保存的路径填写/others/ 3、点击控制…...
让我们一起探讨汽车充电桩控制主板的应用
你是否想过,你的汽车充电桩可以更智能?可以支持更多类型的电池,更多操作系统,更多协议和更多电源?让我们一起探讨汽车充电桩控制主板的应用。 控制主板是充电桩的大脑,它可以应用于各种充电桩,包括智能充电桩、电动汽…...
Gartner发布《2023年全球RPA魔力象限》:90%RPA厂商,将提供生成式AI自动化
8月3日,全球著名咨询调查机构Gartner发布了《2023年全球RPA魔力象限》,通过产品能力、技术创新、市场影响力等维度,对全球16家卓越RPA厂商进行了深度评估。 弘玑Cyclone(Cyclone Robotics)、来也(Laiye&am…...
springboot整合JMH做优化实战
这段时间接手项目出现各种问题,令人不胜烦扰。吐槽下公司做项目完全靠人堆,大上快上风格注定留下一地鸡毛,修修补补不如想如何提升同事代码水准免得背锅。偶然看到关于JMH对于优化java代码的直观性,于是有了这篇文章,希…...
利用ffmpeg分析视频流
ffprobe -show_packets -i "rtsp://192.168.61.46:8554/live?channel0&type0":该命令用于显示 RTSP 流中的数据包信息,例如时间戳、大小、持续时间等。 ffprobe -i "rtsp://192.168.61.46:8554/live?channel0&type0"&…...
基于kettle实现pg数据定时转存mongodb
mogodb 待创建 基于kettle实现pg数据定时转存mongodb_kettle 实时迁移 mongodb_呆呆的私房菜的博客-CSDN博客...
使用 POI 在 Word 中重新开始编号、自定义标题格式
效果图 引入依赖 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><!-- https…...
【java】default/private/public/protected比较
访问修饰符 访问修饰符本类同包子类其他privateYdefaultYYprotectedYYYpublicYYYY 总结: private、default、proteced、public访问范围依次增大、限制能力依次减弱;被private修饰的成员只能在本类中调用;default是默认类型,成员…...
面试热题(最长上升子序列)
给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 输入࿱…...
Vue 简版文件预览笔记
简版文件预览笔记 调用方法 <script lang"ts" setup>import {exportFileData,preViewFile,} from /xxx/tools.ts;import {fileDownload,} from /api/xxx/xx;// 预览方法const handleViewBtn () > {const filePath 获取预览地址;const urlFormat 获取预…...
Intv_AI_MK11解析操作系统核心概念:进程、线程与内存管理
Intv_AI_MK11解析操作系统核心概念:进程、线程与内存管理 1. 从零理解操作系统核心三要素 想象一下你正在一家餐厅用餐。服务员(进程)负责你的整个就餐流程,而传菜员(线程)则专注于上菜这个具体任务。餐厅…...
Chandra入门必看:Chandra日志分析技巧——定位响应慢、卡顿、无响应根因
Chandra入门必看:Chandra日志分析技巧——定位响应慢、卡顿、无响应根因 你刚部署好Chandra,兴致勃勃地打开聊天界面,输入第一个问题,然后……光标在闪烁,界面却像被冻住了一样,迟迟没有回应。或者&#x…...
告别求人写春联:达摩院AI春联生成模型,小白也能轻松创作
告别求人写春联:达摩院AI春联生成模型,小白也能轻松创作 春节贴春联是中国传统文化中不可或缺的习俗,一副好春联不仅能增添节日气氛,还能表达对新年的美好祝愿。但对于大多数人来说,创作一副对仗工整、寓意美好的春联…...
别再踩坑了!手把手教你查清ONNX、TensorRT和Opset的版本兼容表(附官方链接)
ONNX与TensorRT版本兼容性实战指南:从原理到避坑策略 每次模型部署时遇到"不支持的算子"或"版本不匹配"报错,那种感觉就像在迷宫里转圈——明明官方文档就在那里,却总是找不到关键信息。作为AI工程师,我们花…...
逐行拆解 STM32F4-CAN-IAP:一份“代码即文档”的功能级说明书
STM32F4的CAN升级方案 bootloader源代码,对应测试用app源代码,都是keil工程,代码有备注,也有使用说明。 带对应上位机可执行文件。 上位机vs2013开发(默认exe,源代码需要额外拿)(适用于:拿到源码…...
Python的__get__描述符中设置属性值在数据描述符中的优先级规则
Python描述符协议中的优先级规则揭秘 在Python面向对象编程中,描述符是实现属性访问控制的核心机制。数据描述符通过__get__和__set__方法拦截属性操作,但其优先级规则常让开发者困惑。本文将深入解析数据描述符中属性赋值的优先级逻辑,帮助…...
2000-2025年逐8天全国1km分辨率日间地表温度数据(LST)
地表温度(Land Surface Temperature)作为地表能量平衡和气候系统的重要指标,能够揭示全国范围内的气候变化趋势与极端高温事件风险,有助于评估全球变暖背景下的地表温度情况,为城市规划和公共健康预警提供科学依据。 …...
告别Qt Creator!在VSCode里配置Qt 6.8.3 + MSVC2022开发环境(附完整settings.json)
在VSCode中构建Qt 6.8.3开发环境:从零配置到高效开发 Qt Creator曾经是Qt开发者的标配IDE,但随着VSCode在代码编辑、插件生态和跨语言支持上的突飞猛进,越来越多的开发者开始转向这个轻量级但功能强大的编辑器。本文将带你从零开始࿰…...
现代C++智能指针详解
现代C智能指针详解:安全内存管理的利器在C开发中,内存管理一直是程序员需要谨慎处理的难题。传统裸指针容易导致内存泄漏、悬垂指针等问题,而现代C引入的智能指针通过RAII机制为内存管理带来了革命性改变。本文将深入解析智能指针的核心特性与…...
Ubuntu下配置Samba服务实现跨平台文件共享
1. 为什么需要Samba服务? 如果你同时使用Windows和Linux电脑,肯定遇到过文件互传的麻烦。用U盘拷来拷去太原始,微信传文件又受大小限制,这时候Samba就是你的救星。它就像在两个系统之间架了一座桥,让文件传输变得像在本…...
