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

power BI 倒计时+插件HTML Content,实现更新倒计时看板!

直接拿去玩吧,花了我两个小时。
搜了b站和百度都没找到像样的,就决定自己干一个了。

先看效果:
在这里插入图片描述

起个度量值,然后去power bi 插件那边搜索html Content,把这个放进html content插件的字段values即可。

HTML倒计时每周一18点循环版 = 
"
<div style='text-align:center; padding:20px; background: #fff; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.1);'><div style='margin-bottom: 15px; font-family: Arial; color: #444;'><span style='font-size: 18px;'>数据更新倒计时</span><span id='countdown' style='font-size: 24px; margin-left: 10px; color: #d32f2f;'>00天 00时 00分 00秒</span></div><svg width='300' height='30' xmlns='http://www.w3.org/2000/svg' style='overflow: visible;'><rect width='100%' height='20' rx='10' fill='#f0f0f0'></rect><defs><linearGradient id='barGradient' x1='0%' y1='0%' x2='100%' y2='0%' gradientUnits='userSpaceOnUse'><stop id='gradientStart' offset='0%' stop-color='#ff6b6b'/><stop id='gradientEnd' offset='100%' stop-color='#d32f2f'/></linearGradient></defs><path id='progress' d='M10,10 L290,10' stroke='url(#barGradient)' stroke-width='20'stroke-linecap='round' fill='none' stroke-dasharray='0 280'/></svg>
</div><script>// 计算下一个周一 18:00function getNextMonday6PM() {var now = new Date();var day = now.getDay();           var offset = (1 - day + 7) % 7;   if(offset === 0 && now.getHours() >= 18) {offset = 7;}var target = new Date(now);target.setDate(now.getDate() + offset);target.setHours(18,0,0,0);return target;}var pathLength = 280;var elements = {progressBar: document.getElementById('progress'),gradientStart: document.getElementById('gradientStart'),gradientEnd: document.getElementById('gradientEnd'),countdown: document.getElementById('countdown')};var targetTime = getNextMonday6PM();var initialSeconds = Math.round((targetTime - new Date()) / 1000);function formatCountdown(sec) {var days = Math.floor(sec / 86400),hrs  = Math.floor((sec % 86400) / 3600),mins = Math.floor((sec % 3600) / 60),secs = sec % 60;var d = days < 10 ? '0' + days : days;var h = hrs   < 10 ? '0' + hrs   : hrs;var m = mins  < 10 ? '0' + mins  : mins;var s = secs  < 10 ? '0' + secs  : secs;return d + '天 ' + h + '时 ' + m + '分 ' + s + '秒';}function updateProgress() {var now = new Date();if(now >= targetTime) {targetTime = getNextMonday6PM();initialSeconds = Math.round((targetTime - now) / 1000);}var remaining = Math.round((targetTime - now) / 1000);var progress  = (initialSeconds - remaining) / initialSeconds * pathLength;elements.progressBar.setAttribute('stroke-dasharray', progress + ' ' + pathLength);elements.countdown.textContent = formatCountdown(remaining);var pct = remaining / initialSeconds;elements.gradientStart.setAttribute('stop-color','hsl(0,' + (80 + 20 * (1 - pct)) + '%,60%)');elements.gradientEnd.setAttribute('stop-color','hsl(0,' + (60 + 40 * (1 - pct)) + '%,40%)');}// 立刻执行并开始每秒更新updateProgress();setInterval(updateProgress, 1000);
</script><style>/* 1s 线性过渡,同步每秒步进,消除闪烁 */#progress {transition: stroke-dasharray 1s linear !important;will-change: stroke-dasharray;}
</style>
"
http://www.xdnf.cn/news/7561.html

相关文章:

  • 去中心化算力池:基于IPFS+智能合约的跨校GPU资源共享平台设计
  • 2.4.2死锁的处理策略-预防死锁
  • 【解决】rpm 包安装成功,但目录不存在问题
  • jsmpeg+java+ffmpeg 调用摄像头RTSP流播放
  • DNS 域名解析服务器
  • 卷java,继承三
  • 【Java高阶面经】3.熔断机制深度优化:从抖动治理到微服务高可用架构实战
  • 从Ntfs!NtfsReadMftRecord函数到Ntfs!NtfsMapStream函数从0x274a到0xc4312800
  • SAR ADC 比较器寄生电容对性能的影响
  • 镜像管理(2)Dockerfile总结
  • 技术问答:PHP、JAVA和Go的垃圾回收机制有哪些区别
  • HarmonyOS5云服务技术分享--云函数创建配置指南
  • 软考软件评测师——黑盒测试测试方法
  • python 判断远程windows系统中某进程号是否还在
  • 电商运营数据分析指南之流量指标
  • lambda架构和kappa架构区别
  • 【Unity网络编程知识】协议生成工具Protobuf
  • 05 接口自动化-框架封装思想建立之httprunner框架(中)
  • Qt 控件发展历程 + 目标(1)
  • <uniapp><vuex><状态管理>在uniapp中,如何使用vuex实现数据共享与传递?
  • 基于“岗课赛证”融通的农业物联网专业教学方案
  • Ⅱ 链表 episode3
  • 自回归图像编辑 EditAR: Unified Conditional Generation with Autoregressive Models
  • 力扣第5题:最长回文子串(动态规划)
  • 【全解析】EN18031标准下的NMM网络监控机制
  • css使用clip-path属性切割显示可见内容
  • 【MySQL】第七弹——复习总结 视图
  • SSRF(服务器端请求伪造)基本原理靶场实现
  • CVE-2017-4971源码分析与漏洞复现
  • 谈谈对《加密算法》的理解