如何在特定div中获取光标坐标?

时间:2013-06-03 18:04:06

标签: jquery cursor-position

$('#imgSW').click(function (e) {
var w=window.innerWidth/2;
if (e.pageX > w)(changeUp())
else(changeDown());
});

#imgSw水平居中时,此工作正常 但现在,它被放置在右侧div中,液体宽度 如何仅仅引用#imgSW来获取光标坐标,而不是窗口。

2 个答案:

答案 0 :(得分:1)

为此更改var w

var $this = $(this)
var w=$this.offset().left+($this.width()/2);

它应该有用。

答案 1 :(得分:1)

你需要从窗口的左边缘获取元素距离,这将是从左边偏移的元素,但是因为它与文档相关,所以你也可以减去任何滚动距离使其与可见窗口相关。

然后只需减去该距离(并在if / else中使用正确的花括号):

$('#imgSW').on('click', function(e) {
    var cursor_x  = e.pageX,
        elem_left = $(this).offset().left,
        wind_left = $(window).scrollLeft();

    var true_left = cursor_x - (elem_left - wind_left);

    var w = window.innerWidth/2;

    if (true_left > w) {
       changeUp();
    } else {
       changeDown();
    }
});