Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何制作rect';s使用onclick按钮消失并重新显示_Javascript_Html_Raphael - Fatal编程技术网

Javascript 如何制作rect';s使用onclick按钮消失并重新显示

Javascript 如何制作rect';s使用onclick按钮消失并重新显示,javascript,html,raphael,Javascript,Html,Raphael,我有一些矩形,我想用onclick按钮显示然后消失。然而,rect从未消失 我对它进行了编码,这样当按下某个按钮时,一些变量要么.hide()要么.show() 我的逻辑是,在go1()中定义了所有变量,这样当go2()播放完毕时,计算机将已经知道r1.remove()所指的内容,因此将其隐藏,反之亦然,使用.show()。情况显然并非如此 点击我 点击我 单击me2 似乎您在go1中定义了r1、r2和r3,因此它们在go2和go3中未定义 一个解决办法是增加 让r1、r2、r3 首先是所有功

我有一些矩形,我想用onclick按钮显示然后消失。然而,rect从未消失

我对它进行了编码,这样当按下某个按钮时,一些变量要么
.hide()
要么
.show()

我的逻辑是,在
go1()
中定义了所有变量,这样当
go2()
播放完毕时,计算机将已经知道
r1.remove()
所指的内容,因此将其隐藏,反之亦然,使用
.show()
。情况显然并非如此

点击我
点击我
单击me2

似乎您在
go1
中定义了
r1
r2
r3
,因此它们在
go2
go3
中未定义

一个解决办法是增加

让r1、r2、r3

首先是所有功能,然后在
go1
中更改

让r1=
r1=
并对其他两个
r
变量执行相同的操作

另外,我认为您需要将
onclick=“go1”
更改为
onclick=“go1()”
,并对其他两个单击处理程序执行相同的操作


我强烈建议您修复压痕。好的缩进使这样的问题更容易被发现。如果您发现很难正确缩进代码,请尝试使用

var p = Raphael(0, 0, 800, 800);

function go1() {
    let r1 = p.rect(300, 300, 50, 50)
        .attr({
            'fill': 'red',
            'cursor': 'pointer',
            'href': 'https://www.google.com/',
        });
    let r2 = p.rect(377, 300, 50, 50)
        .attr({
            'fill': 'blue',
            'cursor': 'pointer',
            'href': 'https://www.google.com/',
        });
    p.path("M362 162 L588 559");
    //p.path("M10 30L60 30L10 80L60 80z");

    let r3 = p.rect(477, 400, 50, 50)
        .attr({
            'fill': 'yellow',
            'cursor': 'pointer',
            'href': 'https://www.google.com/',
        });
};

function go2() {
    r1.show();
    r2.hide();
    r3.hide();
}

function go3() {
    r1.hide();
    r2.show();
    r3.show();
}