加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Open Flash Chart 扩展实现

发布时间:2020-12-15 20:03:51 所属栏目:百科 来源:网络整理
导读:Open Flash Chart(以下称OFC) 说明: 1、OFC源码是开发工具FlashDevelop的工程,用FlashDevelop可以直接打开调试。 2、OFC源码的入口在main.as文件,直接运行此文件即可。 【扩展】扩展OFC作出了如下修改,以雷达图为例 【需求】给雷达图每个项目添加点击事
Open Flash Chart(以下称OFC)

说明:
1、OFC源码是开发工具FlashDevelop的工程,用FlashDevelop可以直接打开调试。
2、OFC源码的入口在main.as文件,直接运行此文件即可。

【扩展】扩展OFC作出了如下修改,以雷达图为例
【需求】给雷达图每个项目添加点击事件并与JavaScript交互。

【以下是修改的步骤】
1、打开elements.axis.RadarSpokeLabels类,
找到方法public function add( label:Object,style:Object ) : void
在对象 var label_style:Object={}里加属性serviceId:'',

2、再接着往下看,找到这一行:var l:TextField = this.make_label( label_style );
紧跟这一行添加如下三个事件:

l.addEventListener(MouseEvent.MOUSE_OVER,mouSEOverHandle); ?//鼠标移入事件
l.addEventListener(MouseEvent.MOUSE_OUT,mouSEOutHandle); ? ?//鼠标移出事件
l.addEventListener(MouseEvent.CLICK,clickhandle); ? ? ? ? ? ?//鼠标点击事件

然后在本类中添加这些事件的响应方法:
public function mouSEOverHandle(event:MouseEvent):void{
(event.target as TextField).background = true;
(event.target as TextField).backgroundColor=0xFFFF00;
(event.target as TextField).textColor = 0xD80C00;
}
public function mouSEOutHandle(event:MouseEvent):void{
(event.target as TextField).background = false;
(event.target as TextField).textColor = 0x000000;
}
public function clickhandle(event:MouseEvent):void {
trace(event.target.text+" serviceId=" + event.target.serviceId+" ?js方法:" + this.click_handel);
ExternalInterface.call(this.click_handel,event.target.text+" serviceId=" + event.target.serviceId);
}


3、在类开头定义全局变量:private var click_handel:String = "";
回到类的构造方法public function RadarSpokeLabels( json:Object )中,在构造方法的第一行添加代码
this.click_handel = json['click_handel'];
然后找到在构造方法中找到
this.style = {
colour: '#784016'
};
在里面添加属性click_handel: ?json['click_handel']

源码修改完毕,基本满足需求。

【修改JSON数据格式】雷达图的json数据中做出如下修改:
1、在spoke-labels里面添加一项:"click_handel":"MyJsFunction"
这样就可以跟js交互。
2、在spoke-labels元素的labels中,每一项添加一个"serviceId":"值"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读