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

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>
"

相关文章:

  • Java转Go日记(四十二):错误处理
  • 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十三讲)
  • 文献解读:LigandMPNN
  • CHI中ordering的抽象
  • RAG评估标准
  • 人工智能+:职业价值的重构与技能升级
  • 十分钟聊明白DDD领域驱动设计
  • 安装完dockers后就无法联网了,执行sudo nmcli con up Company-WiFi,一直在加载中
  • java基础-异常
  • CompleteableFuture的异步任务编排
  • MySQL的安装及相关操作
  • MySQL 自启动时报错can‘t create PID file: No such file or directory
  • 基于天猫 API 的高效商品详情页实时数据接入方法解析
  • 麒麟系统编译osg —— 扩展篇
  • 系统架构设计(十六):敏感点、权衡点、风险点和非风险点
  • EtherCAT通信协议
  • 题解:AT_abc244_e [ABC244E] King Bombee
  • vue+three.js 五彩烟花效果封装+加载字体
  • Go语言实战:使用 excelize 实现多层复杂Excel表头导出教程
  • idea 插件开发自动发布到 nexus 私服中(脚本实例)
  • 第九届非遗节首设主宾国主宾城机制,非遗品牌IP授权获关注
  • 中国建设银行原党委委员、副行长章更生被决定逮捕
  • 来论|以法治之力激发民营经济新动能
  • 在越剧之乡嵊州,浙江音乐学院越剧学院成立
  • 人民日报评论员观察:稳企业,全力以赴纾困解难
  • 韦尔股份拟更名豪威集团:更全面体现公司产业布局,准确反映未来战略发展方向