如何从一个点中选择给定半径内的所有元素?

时间:2012-06-15 17:43:53

标签: javascript jquery jquery-selectors geometry

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

1 个答案:

答案 0 :(得分: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/