Left button x和y位置。扫雷舰式
当我用鼠标点击时,它的工作原理应该如下图所示 但是,我的代码正在这样做 我举了一个例子(见下面的小提琴)。如图所示,我目前的问题是: 上面和下面的所有内容(不仅仅是第一行)也在变化。 在我的小提琴示例中,我使用Left button x和y位置。扫雷舰式,left-button,jquery,positioning,Left Button,Jquery,Positioning,当我用鼠标点击时,它的工作原理应该如下图所示 但是,我的代码正在这样做 我举了一个例子(见下面的小提琴)。如图所示,我目前的问题是: 上面和下面的所有内容(不仅仅是第一行)也在变化。 在我的小提琴示例中,我使用.css('background-color','red')来测试它 我在这两篇文章中收集了信息 不知道你想要什么,但试试这个: $.expr[':'].xy = function (obj, index, meta, stack) { var xy = meta[3]
.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);
}
更新:
嗯,您可以像这样选择所有这些:
$.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');
});
});
然后像这样做:
$.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');
});
});
你的问题是什么?你被困在哪里了?同时左键+右键点击不是最好的设计理念。例如,Mac笔记本电脑用户将很难做到这一点,我相信还有很多其他人也会遇到同样的困难。谢谢你的回复,如果我能表达我的意愿,我会感到抱歉。当我试图说@MichaelPetrotta时,我只需要点击周围的近div。但是现在我得到的是点击上方的所有div(不仅仅是第一行)和点击下方的所有div(不仅仅是第一行)@Radu抱歉,正如我所说,左+右是来自扫雷舰,而不是我的示例。在我的例子中,这只是一次普通的点击。@MichaelPetrotta,+Radu,我对问题做了一些修改,以使问题更清楚。我希望这能澄清我的问题。谢谢你的回答。我查了你的例子,这就是我想要的。真的感谢你的补充,我删除了评论中的那个额外问题,因为它不是原始问题的一部分,我对它有点滥用。但真的很感谢你的补充=)