所以我正在研究一个用 d3 制作的标签云示例。
并且我试图在每个单词悬停时将 Div 放置在它的顶部,并且基本上遇到了问题,因为我放置 div 的方式取决于 svg word 元素的 transform 属性。
这个转换属性是我需要解析的字符串,但该字符串包含我需要抓取的正值和负值。
tagCloudHover.style("top", function(){
//parses the words attributes for its position, and gives that position to tagCloudHover
var str, matches, index, num;
str = thisWord.attr("transform");
matches = str.match(/\d+/g);
for (index = 1; index < 2; ++index) {
num = (parseInt(matches[index], 10));
}
if(num<0){
return -num+"px";
}else{
return num+"px";
}
});
我的代码如上,最后一条语句什么都不做,但它能够从字符串中获取一个 Int 。问题是它不会抓住负号。
我不是最擅长解析,但我尝试了几个不同的 str.match 函数,但似乎没有任何效果。
任何 parseNinjas 有什么想法吗?任何事情都有帮助。艾萨克