2012-06-15 49 views
2

使用jQuery Nearest Element,我想在特定点周围的圆形区域中选择元素。这是我能得到的最接近的:http://jsfiddle.net/fuYHv/。如果可能的话,我也希望能够得到反向选择。如果这不适用于我列出的插件和方法,我愿意接受其他建议。如何从一个点中选择给定半径内的所有元素?

+0

林困惑。你链接的插件看起来使用径向标准距离度量,'max(distX,distY):Math.sqrt(distX * distX + distY * distY);' – Loktar

+0

@Loktar,也许我没有正确调用选择?如果你看看jsFiddle,它会做一个矩形选择。 –

+1

@ErikPhilips,我让它更适合SO格式。 –

回答

2

你想要的是接近:

https://github.com/padolsey/jQuery-Plugins/tree/master/proximity-event

我收到了你拨弄的工作,原来的max: radius声明不做直观的东西,所以你必须明确检查的距离为每个呼叫在事件。但它工作得很好:

http://jsfiddle.net/fuYHv/12/

$(selector + ' span').bind('proximity', {max: radius}, function (event, proximity, distance) { 
    $(this).css('color', distance <= radius ? '#f00' : '#000'); 
}); 

而对于一个更好,更优化的解决方案,看楼主的小提琴:http://jsfiddle.net/fuYHv/14/

+0

我来看看这个并报告回来。谢谢。 –

+0

我讨厌这样的空洞回应,但是......它不起作用。或者看起来如此。 http://jsfiddle.net/fuYHv/2/你看到我做错了什么吗? (顺便说一下,不会绑定到所有1000个单词导致巨大的性能下降?) –

+0

这不是完美的(必须弄糟坏的鼠标轨道),但我得到它的工作。现在编辑我的帖子。 – Milimetric

相关问题