八月上旬更新速递丨 实战赋能、技术深耕与AI探索

数据浪潮奔涌,八月更新携实战培训、集成攻略与AI新知强势来袭!助您攻克难题,解锁高阶技能!

重点推荐案例库重磅上线!

汽车制造两大数字化方案领衔登场,实战培训+集成攻略+AI新知火力全开,助您破局数据难题!


一、任务持续上线

【AI每日一学知识问答】什么是业务数据化,什么又是数据业务化?检验一下你对“业务数据化”与“数据业务化”这对数字化转型双引擎的理解吧


二、demo动态更新

DEMO动态】体验中心行业案例&移动端上新!速来!》→全新的行业案例DEMO和全新移动端DEMO上线,带您领略不一样的数据体验!


三、实战技巧分享


四、开发技能突破


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关注人数 8952浏览人数
最后回复于:2024-9-4 08:55
快速回复 返回顶部 返回列表