Javascript 切换我读入的JSON文件
如果我通过一个JSON文件,我有一个函数可以运行我的代码。我这样做是为了通过按钮而不是代码来更改文件Javascript 切换我读入的JSON文件,javascript,json,d3.js,Javascript,Json,D3.js,如果我通过一个JSON文件,我有一个函数可以运行我的代码。我这样做是为了通过按钮而不是代码来更改文件 tryOutChange(JSONFILE) // this holds the main bulk of code. changeJSON() // this is a button that runs the function above. 此函数首先删除保存节点和边的旧“g”元素(我的强制图),然后使用不同的JSON文件运行主代码。通过这种方式,我可以单击相同的按钮并交换我读取的JSON
tryOutChange(JSONFILE) // this holds the main bulk of code.
changeJSON() // this is a button that runs the function above.
此函数首先删除保存节点和边的旧“g”元素(我的强制图),然后使用不同的JSON文件运行主代码。通过这种方式,我可以单击相同的按钮并交换我读取的JSON文件
var networkJSONfile = true;
function changeJSON()
{
var oldForce = document.getElementById("forceLayout");
oldForce.parentNode.removeChild(oldForce);
if(networkJSONfile == true){
tryOutChange(engine);
networkJSONfile = false;
} else if(networkJSONfile == false){
tryOutChange(network);
networkJSONfile = true;
}
}
这很有效。但只有一次。当我去创建一个我最近删除的图形时,它不会再次创建该图形吗?我是否也碰巧删除了JSON文件
网络和引擎是JSON文件
下面是发生的情况
我运行tryOutChange()
并将'network'
JSON文件直接传递给它,这样它就会出现一个网络查看器
然后单击一个按钮,该按钮运行changeJSON()
函数
此函数删除我以前调用tryOutChange()
时创建的所有内容。然后使用引擎JSON
再次调用该函数
当我再次点击按钮时,它也会这样做。删除我创建的内容,然后使用网络JSON调用tryOutChange()
函数。等等所以理论上,它应该在点击时将JSON文件从网络切换到引擎
当我第一次单击它时,它会删除网络并显示引擎,但是当我想返回并使用
networkjson
重新创建网络时,它不会工作吗 您能否确保引擎
和网络
是有效的json?我们需要看到更多的代码。与设置网络
和引擎
变量的位置相关的代码在哪里?它们只是同一目录中的文件。我假设它们是有效的JSON,因为当我自己运行它们时,它可以工作,就像第一次运行它们一样。但是,当我返回到第一个JSON文件时(如在使用起始JSON文件再次调用函数时),它出现了一个错误。我们可以看到将click事件绑定到changeJSON
处理程序的代码吗?如在onClick调用中一样?如果您可以确保每次单击按钮时都会调用方法changeJSON
,那么您的问题是tryOutChange
call。。。我们能看到吗?