0

如果我根据mouse co-ordinates父 div 内部定位子 div,而不滚动主体,则子 div 被正确定位。现在,如果滚动主体以使父 div 仅可见,然后单击父级以定位子级,则不会定位子级。请提出一种方法,即使在滚动身体后我也能定位孩子。请在这个Fiddle中找到相同的案例。在此先感谢

4

3 回答 3

0

如另一个答案所示,您可以在定义顶部时添加滚动偏移:

$('.b').css('top',e.clientY + document.body.scrollTop);

你的小提琴更新了。

于 2014-05-26T13:34:47.230 回答
0

这有效:

e.clientY= 光标在窗口上的 Y 位置

$('.a').offset().top= 文档正文中顶部.a区域的位置(如果需要更改margin-top.a最好减去该值)。

$(window).scrollTop()=您滚动的距离

$(document).ready(function(){
    $('.a').on('click',function(e){
        var positionClick =  e.clientY - $('.a').offset().top + $(window).scrollTop();
        $('.b').css('top',positionClick);
    });
});

演示:

http://jsfiddle.net/8N63U/1/

于 2014-05-26T13:44:59.707 回答
0

谢谢大家。我的问题通过e.pageY查看以下工作小提琴得到解决

于 2014-05-26T13:49:34.580 回答