当我点击我的left-button它应该像下面的图片。x和y位置。扫雷式
但是,相反,我的代码是这样做的。
我提出的例子(参见下面的小提琴)。正如你在图片中看到的,我目前的问题是:
所有上面和下面(不仅是第一行)也在改变。
在我的小提琴示例中,我使用.css('background-color', 'red')
进行测试。
我聚集在这两个职位信息。
当我点击我的left-button它应该像下面的图片。x和y位置。扫雷式
但是,相反,我的代码是这样做的。
我提出的例子(参见下面的小提琴)。正如你在图片中看到的,我目前的问题是:
所有上面和下面(不仅是第一行)也在改变。
在我的小提琴示例中,我使用.css('background-color', 'red')
进行测试。
我聚集在这两个职位信息。
不知道你涨势想要什么,但试试这个:
$.expr[':'].xy = function (obj, index, meta, stack) {
var xy = meta[3].split(',');
var x = xy[0];
var y = xy[1];
var el = $(obj);
var el_offset = el.offset();
return el_offset.left == y && (el_offset.top-el.height() == x || el_offset.top+el.height() == x);
}
UPDATE:
嗯,你可以选择所有的人都像这样:
$.expr[':'].xy = function (obj, index, meta, stack) {
var xy = meta[3].split(',');
var y = xy[0];
var x = xy[1];
var el = $(obj);
var el_offset = el.offset();
// check for top and bottom 3 blocks
if ((el_offset.top-el.height() == y || el_offset.top+el.height() == y) && (el_offset.left+el.width() == x || el_offset.left == x || el_offset.left-el.width() == x))
return true;
// left and right
else if (el_offset.top == y && (el_offset.left+el.width() == x || el_offset.left-el.width() == x))
return true;
return false;
}
,然后这样做:
$(document).ready(function myfunction() {
$('.content').on("click", function() {
var obj_left = $(this).offset().left;
var obj_top = $(this).offset().top;
$('#wrap').find('.content:xy(' + obj_top + ',' + obj_left + ')').css('background-color', 'red');
});
});
感谢您的回复。我检查了你的例子,这就是我正在寻找的。 – 2012-04-27 13:16:50
也许更新会有所帮助 – Vytautas 2012-04-27 13:34:56
真的非常感谢你的补充,我已经删除了额外的评论问题,因为它不是原始问题的一部分,我对此有点滥用。但非常感谢补充=) – 2012-04-27 13:42:48
什么是你的问题?你卡在哪里? – 2012-04-27 02:40:04
左键+右键同时不是最好的设计理念。例如,Mac笔记本电脑用户在这方面会遇到很多困难,我相信还有很多其他人会分担困难。 – rid 2012-04-27 02:41:46
感谢您的回复,抱歉,如果我可以表达我所希望的。正如我试图说@MichaelPetrotta我只需要点击附近的近divs。但目前我得到的是我的点击之上的所有div(不仅是第一行)和所有div(不仅是第一行) – 2012-04-27 02:42:08