javascript - Raphael.js - if/else 语句在点击时不切换

标签 javascript if-statement raphael toggle

我有 3 个盒子,我希望它们在它们之间切换,并在第二次单击时关闭。目前它在它们之间切换得很好(IF部分),但是当我单击同一个框将其关闭时,如果不起作用(“else if”部分似乎不起作用)。我想我需要重组 if 语句。任何帮助是极大的赞赏。

这是 JS fiddle : http://jsfiddle.net/FFdjS/5/

这是元素的点击 if 语句之一:

box1.click(function() {
    if (box1.attr(strOff)) {
        box1.attr(strOn);
        box2.attr(strOff);
        box3.attr(strOff);
    } else if (box1.attr(strOn)) {
               box1.attr(strOff);
    } else {}
});

最佳答案

Element.attr(...) 在对象作为参数传递时设置属性。返回元素。如果你想改变它 - 使用这样的东西:

box1.click(function() {
    if (box1.attr('stroke-width') == 1) {
        box1.attr(strOn);
        box2.attr(strOff);
        box3.attr(strOff);
    } else if (box1.attr('stroke-width') == 5) {
           box1.attr(strOff);
    } else {}
});

jsFiddle 上的示例

关于javascript - Raphael.js - if/else 语句在点击时不切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13653670/

相关文章:

Android 日历获取当前日期不工作

javascript - 在 Internet Explorer 上将 Raphaël 图像保存为 PNG

jquery - 使用 RaphaelJS 调整形状大小

javascript - 使用弹出消息销毁 session

javascript - 从 Javascript 自动启动 youtube 视频

javascript - knockout 复选框切换 css 类并在单击时切换选中

string - 如何将 $var 的内容与 Fish shell 中的已知字符串进行比较

javascript - Angular Js滚动 slider 水平轮播

c# - 多个选项的更有效的 'if' 语句

raphael - 如何在 Raphael JS 中链接和拖动 2 个圆形?