八月下旬更新速递丨 科技赋能、实战进阶与AI深耕

科技浪潮不息,八月下旬再度升级!全新科技感主题、深度技术解析、AI术语入门+Prompt详解,助你稳步进阶,智赢未来!

任务持续上线

《【AI每日一学知识问答】学习AI必须了解的相关术语》→术语虽基础,却是AI沟通的桥梁。快来挑战一下,看看你掌握了多少!
【BI知识闯关】数据层层剥茧,洞见核心!报表下钻功能全解析→检验你是否真的了解下钻的使用

二、全新素材上线

科技感大标题(第三版)→科技感视觉主题,深色科技风跃动,光线流动引爆焦点!

实战技巧分享

数据层层剥茧,洞见核心!报表下钻功能全解析→聚焦电子表格和仪表盘,手把手教你在两种主流报表中实现各类下钻场景!

、开发技能突破

组件传值筛选器使用指南→从四个组件传值筛选器的示例出发,带您深入理解组件传值的过程,实现特定的需求。

五、AI每日一学

学习AI必须了解的相关术语》→聚焦那些高频出现、必须理解记忆的AI相关名词术语,帮助大家扫清概念障碍,更自信地畅游AI世界!

在AI语境里,介绍一下Prompt(提示词/提示)》→学会设计Prompt,能更精准地“驾驭”AI,让它真正成为你的得力助手!解锁与AI高效对话的钥匙。


麦粉社区
>
建议征集
>
帖子详情

关于组件变色类呼吸效果的研究

建议征集 发表于 2024-8-29 19:36
发表于 2024-8-29 19:36:02
本帖最后由 君茗 于 2024-8-30 09:20 编辑

之前看到过一种效果,类似下图,尝试在Smartbi中实现



采用方式:宏代码


概要原理:定时器循环修改组件样式;保证颜色以A->B->C->B->A进行循环


初步实现效果:



———————————————————————————————————————


思考:初步具有了呼吸效果。


    若想实现不间断的呼吸效果,需得到两个rgba的中间数据。


    应以步长的形式获得,这样能保证代码中try部分只写一个rgba值,然后通过步长来控制;同时阴影也可以通过此步长来控制


参考:【仪表盘】地图实现循环高亮效果 - Smartbi Insight V11帮助中心 -


          【仪表盘】根据占比设置柱图中柱子的颜色 - Smartbi Insight V11帮助中心 -


附相关代码(事件为onBeforeRender):


function main(page: IPage, portlet: IEChartsPortlet) {
    var options = portlet.getChartOptions();
    var series = options.series[0];
    var sint = 1;//此参数为变化依据,为不同值是更改不同的series样式
    var threshold = 1;//此为阈值变化依据,控制sint参数以正弦形式变化
    var interval = setInterval(function () {
        try {
            if (sint == 1) {
                series.lineStyle = {
                    "normal": {
                        "color": "rgba(30,144,255,1)",
                        "shadowColor": "rgba(30,144,255,1)",
                        "shadowBlur": 5
                    }
                }
            } else if(sint == 0.9) {
                series.lineStyle = {
                    "normal": {
                        "color": "rgba(30,144,255,0.9)",
                        "shadowColor": "rgba(30,144,255,0.9)",
                        "shadowBlur": 10
                    }
                }
            } else if(sint == 0.8) {
                series.lineStyle = {
                    "normal": {
                        "color": "rgba(30,144,255,0.8)",
                        "shadowColor": "rgba(30,144,255,0.8)",
                        "shadowBlur": 15
                    }
                }
            } else {
                series.lineStyle = {
                    "normal": {
                        "color": "rgba(30,144,255,0.7)",
                        "shadowColor": "rgba(30,144,255,0.7)",
                        "shadowBlur": 20
                    }
                }
            }   
        } catch (e) {
            console.error(e);
        } finally {
            portlet.setChartOptions(options);
            //让数据在阈值内以正弦形式变化
            if (sint == 1) {
                threshold = -threshold;
                sint = sint + 0.1 * threshold;
            } else if (sint <= 0.71) {
                threshold = -threshold;
                sint = sint + 0.1*threshold;
            } else {
                sint = sint + 0.1*threshold;
            }
        }
    } , 1000)
}

 

发表于 2024-9-4 08:55:59
若想实现不间断的呼吸效果,需得到两个rgba的中间数据。
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1回帖数 0关注人数 9299浏览人数
最后回复于:2024-9-4 08:55
快速回复 返回顶部 返回列表