我找到了一个很好的例子,如何找到多边形的中心点(这里是JS):
- >请参阅此jsfiddle示例
所以,用这个多边形
var polygon = [
{'x':770, 'y':400},
{'x':529, 'y':643},
{'x':320, 'y':494},
{'x':424, 'y':381},
{'x':459, 'y':369}
];
Run Code Online (Sandbox Code Playgroud)
我应该找到这样的中心点:
var con = new Contour();
con.pts = polygon;
document.write(con.centroid)
Run Code Online (Sandbox Code Playgroud)
不过con.centroid是undefined.
我究竟做错了什么?提前致谢!
我正在尝试存储一个contentEditable元素的选择,并在以后恢复它.
我想观察paste事件并存储以前的HTML,清除html然后手动插入粘贴的文本,在所选位置进行一些更改.
看一下这个例子:jsfiddle.net/gEhjZ
当您选择文本的一部分时,点击store,再次删除选择并点击restore,它按预期工作.
但是当你第一次点击时store,然后通过点击替换完全相同的HTML overwrite html,然后尝试restore,没有任何反应.
我认为使用.cloneRange()会有所作为,但事实并非如此.即使是object($.extend(true, {}, oldRange))的深层副本也无法解决问题.只要我覆盖HTML,选择对象sel也会被更改.对我来说,更改选择上下文会擦除范围是有道理的,但我正在尝试将其恢复为完全相同的HTML.
我知道我可以使用rangy,但我真的不想为这个小功能使用一个巨大的库.我错过了什么?任何帮助将非常感激!
注意:只有Firefox/Chrome,因此不需要使用crossbrowser-hacks.
@Tim Down的答案在使用div时有效,但我实际上是在使用iframe.当我做出这个例子时,我认为它没有任何区别.
现在,当我尝试恢复iframe的正文时,我收到以下错误:TypeError: Value does not implement interface Node.在以下行中preSelectionRange.selectNodeContents(containerEl);.我没有从谷歌搜索获得太多.我试图包装正文的内容并恢复包装的html,但我得到了同样的错误.
jsfiddle在这种情况下不工作,因为它使用iframe来显示结果本身,所以我在这里举了一个例子:snipt.org/AJad3
并且没有包装:snipt.org/AJaf0
更新2:editable.get(0)当然,
我认为我必须使用它.但现在start和endiframe的选择是0看snipt.org/AJah2
一个特殊的正则表达式现在正在困扰我.我只想在字符串中替换range = 100
var string = '...commonstringblabla<b>&range=100&</b>stringandsoon...';
Run Code Online (Sandbox Code Playgroud)
同
...commonstringblabla<b>&range=400&</b>stringandsoon...
Run Code Online (Sandbox Code Playgroud)
我成功地匹配了"range = 100"-part
alert(string.match(/ range = 100 /));
但是当我尝试更换它时,
string.replace(/ range = 100 /,'range = 400');
什么都没发生.该字符串仍然具有范围= 100.我怎样才能使它工作?
我正在使用raphaelJS绘制一个"雷达图表"来显示统计数据.对于每个轴,它应接受0到10之间的值.
例如,多边形的值,其中心点位于图表的中心[10,10,10,10,10].简单...
但是,可能会发生数据如下所示:
[26, 14, 48, 18, 1],
[ 3, 14, 8, 9, 5],
[10, 6, 4, 16, 3]
Run Code Online (Sandbox Code Playgroud)
这导致了这一点(显示多边形的中心点位于图表的左下方):

如果我根据其最大值(在这种情况下为48)对数据进行标准化,则所有其他中心点将太靠近图表的中心,并且其信息值将大约为0.
相同的数据根据其最大值进行标准化:
[5.42, 2.92, 10, 3.75, 0.21],
[0.63, 2.92, 1.67, 1.88, 1.04],
[2.08, 1.25, 0.83, 3.34, 0.63]
Run Code Online (Sandbox Code Playgroud)

所以现在所有其他中心点都聚集在图表的中心,并且已经失去了所有的解释力......如果有超过3个中心点,它们很可能会相互重叠.

我正在考虑一种显示每个多边形的相对方式,而不会在每个多边形之间失去太多关系,如果可能的话......
任何想法如何做到这一点,或者可能是另一种方法如何规范化?
我有这个小jquery插件.垂直可滚动div中有一些图像.我可以点击这个div并使用箭头键滚动它.
如果您看一下这个例子,您可以看到我想观察是否按下了向右/向左箭头键,如果是,请跳转到下一个图像.在Firefox和IE中,正在调用keyup()事件,而在safari和chrome中则不然.
我在webkit浏览器中遇到了几个奇怪的滚动和焦点行为,但我不知道为什么没有触发keyup()事件.如果您有任何想法,请告诉我.