对任何类型的编程都很陌生,如果这是一团糟,很抱歉!我有一个叶绿素图,其中颜色由滑块确定,效果很好。但是,当单击地图上的每个特定形状时,我需要显示用于确定文本字段中颜色的值 - 并且在使用滑块时仍然会更新。
我可以让它为点击内的区域正确计算,但它不会随幻灯片更新,所以我认为我需要它在点击之外,然后只是在点击时显示/隐藏。但在点击之外,我没有“this”可供参考,也无法进行我需要的迭代。我一直在尝试我遇到的所有可能的事情,现在完全迷失了。
非常感谢您的任何帮助/解释。
我所拥有的是:
function fromslide(){
// Set properties for each county.
for (var i=0; i < counties.length; i++) {
ctys = counties[i];
//console.log (ctys);
var id = ctys.data("id");
alloc= ((parseInt(Landvar[id].val) * landweight) + (parseInt(Popvar[id].val) * popweight) + (parseInt(Poorvar[id].val) * poorweight));
console.log(alloc);
// Set county color.
ctys.attr({
fill: getColor(alloc/ 1000000),
});
//console.log (selectedcnty);
console.log (window.selectedcnty);
//this is what's not working
if (selectedcnty = String(id)) { thisalloc = ((parseInt(Landvar[id].val) * landweight) + (parseInt(Popvar[id].val) * popweight) + (parseInt(Poorvar[id].val) * poorweight));}
$("#allocfield").val(thisalloc);
ctys.click(function() {
for (var i=0; i < counties.length; i++) {
var ctys = counties[i];
var id = ctys.data("id");
ctys.attr({stroke: "#fff" });
};
this.toFront();
this.attr({stroke: "orange" });
var name = this.data("id");
$("#namefield").val( Popvar[name].name);
$("#popfield").val( Popvar[name].val);
$("#landfield").val( Landvar[name].val);
$("#poorfield").val( Poorvar[name].val);
console.log(thisalloc);
window.selectedcnty = name;
console.log (window.selectedcnty);
});