单击圆环图部分时显示/隐藏Div

时间:2014-12-17 06:12:50

标签: javascript jquery raphael

我有一个甜甜圈raphael圆环图,我想在点击时显示一个相应的文本div。

我尝试为每个部分设置id,然后使用此代码使用jquery触发它们但它不起作用。

jQuery(document).ready(function() {

jQuery(".div1, .div2, .div3, .div4").hide();

jQuery("#arched1, #arched2, #arched3, #arched4").bind("click", function () {

   jQuery(".div1, .div2, .div3, .div4").hide();

    if (jQuery(this).attr("id") == "oxbowarc1") {
        jQuery(".div1").show();
    } else if ($(this).attr("id") == "oxbowarc2") {
        jQuery(".div2").show();
    } else if (jQuery(this).attr("id") == "oxbowarc3") {
        jQuery(".div3").show();
    } else {
        jQuery(".div4").show();
    }
});
});

我可以做些什么来完成这项工作?

这是小提琴http://jsfiddle.net/dll416/17j9Lhwg/1/

1 个答案:

答案 0 :(得分:1)

代表。在代码中添加或动态分配id元素,jQuery在创建处理程序时无法识别它们。

尝试类似

的内容
jQuery(container).on("click", "#arched1, #arched2, #arched3, #arched4", function () {
...

本质上,您将处理程序附加到容器(可以是document"body"或更具体的元素),仅适用于选择器中提到的id。这样,处理程序附加到documentReady上存在的元素。

我没有把它添加到你的小提琴中,因为它似乎缺少id的赋值。