分享
查看: 1896|回复: 0

[分享] QuickChart多套图表如何切换?

[复制链接]

QuickChart多套图表如何切换?

发表于 2024-1-11 10:05:34 来自 分享 只看大图 阅读模式 倒序浏览
zzv_icon1896 zzr_icon0 查看全部
本帖最后由 夏天骑冷月 于 2024-1-11 10:05 编辑

1.加载多套图表
多图表的加载需要在第二套的图表上加上参数  reuse: true,
代码如下所示:
  1. // 引入一键图表脚本
  2. THING.Utils.dynamicLoad(['/static/ScenePreview/chart/PreviewChartControl.js'], function () {
  3.     // 创建图表
  4.     new PreviewChartControl({
  5.         url: '/api/chart/63f588dcee63ce1d897ab776',
  6.         tag: '1',
  7.         isLoad: true,  // 加载页,默认为true
  8.         isApplyBackground: false,  // 是否应用图表背景,启用该参数会替换app.background的值,默认false
  9.         autoResize: {  // 图表自适应
  10.            enable: false,  // 自适应图表分辨率,默认为false
  11.            orgin: 'center center'  // 自适应的基准点,第一个参数取值为:left、center、right,第二个参数取值为:top、center、bottom,默认值为“center center”
  12.         },
  13.         complete: function(){
  14.            

  15.     new PreviewChartControl({
  16.         url: '/api/chart/63f329adee63ce1d897ab6e1',
  17.         tag: '1',
  18.         isLoad: true,  // 加载页,默认为true
  19.          reuse: true,
  20.         isApplyBackground: false,  // 是否应用图表背景,启用该参数会替换app.background的值,默认false
  21.         autoResize: {  // 图表自适应
  22.            enable: false,  // 自适应图表分辨率,默认为false
  23.            orgin: 'center center'  // 自适应的基准点,第一个参数取值为:left、center、right,第二个参数取值为:top、center、bottom,默认值为“center center”
  24.         },
  25.         complete: function(){
  26.            
  27.         }
  28.     });



  29.         }
  30.     });
  31. })
复制代码
2.如何切换图表
图表的切换需要将两套图表都加载在项目中,对图表进行打组,之后可用css动画控制图表组合的移入移出作为切换展示。
可参考如下示例:
(1)选择一张图表作为首页

QuickChart多套图表如何切换?
(2)首页图表可包含标题,底部按钮,两侧边框等内容,另选一张作为需要切换的第二套图表,图表内容应相互关联,风格相近
QuickChart多套图表如何切换?
(3)对图表进行左侧和右侧的打组,便于控制,如下图示例:
QuickChart多套图表如何切换?
(4)添加切换的Css动画:
QuickChart多套图表如何切换?
  1. .showleft{
  2.     animation: leftShow 2s forwards;
  3. }
  4. @keyframes leftShow{
  5.     from{left: -450px}
  6.     to{left: 25px}
  7. }
  8. .removeleft{
  9.     animation: leftRemove 2s forwards;
  10. }
  11. @keyframes leftRemove {
  12.     from{left: 25px}
  13.     to{left:-450px}
  14. }
  15. .showRight{
  16.     animation: rightShow 2s forwards;
  17. }
  18. @keyframes rightShow{
  19.     from{left:2000px}
  20.     to{left:1680px}
  21. }
  22. .removeRight{
  23.     animation: rightRemove 2s forwards;
  24. }
  25. @keyframes rightRemove{
  26.     from{left:1680px}
  27.     to{left:2000px}
  28. }
  29. .removeTop{
  30.      animation:  topRemove 2s forwards;
  31. }
  32. @keyframes  topRemove{
  33.     from{top:0px}
  34.     to{top:-200px}

  35. }
  36. .showTop{
  37.     animation:  topShow 2s forwards;
  38. }
  39. @keyframes  topShow{
  40.     from{top:-200px}
  41.     to{top:-0px}
  42. }
  43. .scale{
  44.      transform:  scale(0.5);
  45. }
复制代码
(5)给对应按钮添加上点击事件,实现切换功能
  1. $('div[data-group-alias=group_top02]').on('click', function () {//给组名为group_top02的按钮添加事件,此处可修改为按钮的组别名
  2.             // 摄像机飞行到某位置
  3.             app.camera.flyTo({
  4.                 'position': [-10.397369275768664, 18.13095377395566, 38.36528228041324],
  5.                 'target': [-10.486774704086308, 5.771037733772861, 5.53022802939024],
  6.                 'time': 2000,
  7.                 'complete': function () {
  8.                 }
  9.             });
  10.             $('div[data-group-alias=group_left01]').css({ visibility: 'visible', opacity: '1' })//控制组名为group_left01的图表显示
  11.             $('div[data-group-alias=group_right01]').css({ visibility: 'visible', opacity: '1' })
  12.             $('div[data-group-alias=group_top]').css({ visibility: 'visible', opacity: '1' })
  13.             $('div[data-group-alias=group_left01]').removeClass('removeleft').addClass('showleft');
  14.             $('div[data-group-alias=group_right01]').removeClass('removeRight').addClass('showRight');
  15.             $('div[data-group-alias=group_left02]').addClass('removeleft');
  16.             $('div[data-group-alias=group_right02]').addClass('removeRight');
  17.             $('div[data-group-alias=group_top02]').removeClass('showTop').addClass('removeTop');
  18.             $('div[data-group-alias=group_top]').removeClass('removeTop').addClass('showTop');
  19.         });
复制代码



avatar
游客~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

130700ppkpl8x3t7tt1b1t