拉斐尔圆环图单击和取消单击部分
Raphaël Donut chart click and unclick sections
我是新手,
但我正在尝试创建一个圆环图,该图具有单击时缩放更大的部分,然后单击其他部分时,第一部分将恢复为原始大小,新部分缩放得更大。
我有图表和点击缩放,但现在我只能通过鼠标退出让该部分恢复到原始大小。
这是我的代码:
p.click(function () {
p.stop().animate({transform: "s1.1 1.1 " + cx + " " + cy}, ms, "elastic");
txt.stop().animate({opacity: 1}, ms, "elastic");
}).mouseout(function () {
p.stop().animate({transform: ""}, ms, "elastic");
txt.stop().animate({opacity: 0}, ms);
});
小提琴:http://jsfiddle.net/dll416/70twey1o/1/
重要的是能够从单击侦听器功能中选择所有其他扇区和文本标签。
我创建了一个示例,该示例通过为每个扇区和文本标签分配一个类来实现您要查找的内容,并使用这些类来执行"隐藏"动画: http://jsfiddle.net/8opkfpxs/4/
设置类:
p.node.setAttribute('class', 'sector');
txt.node.setAttribute('class', 'sectorTxt');
单击扇区时访问类:
p.click(function (e) {
donut.forEach(function(element) {
var className = element.node.getAttribute('class');
if(className === 'sector') {
element.stop().animate({transform: ""}, ms, "elastic");
}
else if(className === 'sectorTxt') {
element.stop().animate({opacity: 0}, ms);
}
});
p.stop().animate({transform: "s1.1 1.1 " + cx + " " + cy}, ms, "elastic");
txt.stop().animate({opacity: 1}, ms, "elastic");
});
您还需要将 Raphael 上下文存储在变量中(donut
在上面的示例中),以便能够在点击侦听器中使用 forEach
函数。
donut = Raphael("holder", 700, 700).donutChart(350, 350, 200, 50, values, labels, "#fff");
删除 mouseOut 函数,在应用转换之前单击重置整个集合转换和属性更改,还将图表集分成 2。我还建议您在数组中绘制每个图表。
我刚刚更改了这些行:
chartTxt = this.set(),
chart = this.set();
和
p.click(function () {
chart.transform("");
chartTxt.attr({opacity: 0});
this.stop().animate({transform: "s1.1 1.1 " + cx + " " + cy}, ms, "elastic");
txt.stop().animate({opacity: 1}, ms, "elastic");
});
和
chart.push(p);
chartTxt.push(txt);
http://jsfiddle.net/crockz/m4tcr4tg/
相关文章:
- 如何在单击“提交”按钮时为“新建”窗口编写JavaScript,用“确定”和“取消”显示注册信息
- 单击或取消选中复选框时,如何创建弹出的自定义窗口
- 如何通过jQuery选中所有复选框并在单击一个复选框时取消选择
- 旋转和取消旋转图像单击与 javascript
- 选择文件(表单提交)后无法单击“取消”按钮
- 在简单模式中,取消单击时不会调用onClose事件..当我在simple-modal上加载另一个jquery对话框时
- 单击时更改 DIV 的样式,取消单击时再次更改
- 使用双击事件时如何取消单击事件
- 如何制作整行以及其中的复选框,当我在表格行内单击时单击和取消单击
- 传单 - 鼠标悬停,单击和取消单击
- 拉斐尔圆环图单击和取消单击部分
- 当鼠标按下孩子时取消单击父级
- 单击和取消单击带有计数的复选框
- 计数 + / - 用于复选框单击和取消单击
- 在单击和取消单击时验证多个选择器
- 复选框取消单击事件Javascript
- 如何在取消单击时恢复以前的输入值
- 取消单击数据绑定
- 从mousedown处理程序中取消单击处理程序
- 当有人取消单击复选框时,如何更改背景颜色