1

IE。我们有很多行文本的页面

<div class="textline" id=line1>text line or line with image no reason</div>
<div class="textline" id=line2>text line or line with image  no reason</div>
<div class="textline" id=line500>text line or line with image  no reason</div>

如何在访问者的屏幕上(不是在整个页面上)获取最后一个真正可见的 lineID并使用 jquery 将此 ID 发送到服务器?1) 第一次发送 - 当页面聚焦超过 5 秒(真正查看)时,需要从访问者的屏幕发送最后一个可见的 lineID。2)当页面向下滚动时需要发送最后一个可见行(想想有一点超时)

用jquery可以吗?有什么例子吗?

4

2 回答 2

2

从元素列表中获取最后一个.textline元素。

例子:

$(".textline").last();

或者,如果你想在视口中选择屏幕上可见的最后一个元素,你将不得不做一些更复杂的事情,像这样:

$(".textline").each(function() {
    var offset = $(this).offset().top - $(window).scrollTop();

    if(offset <= window.innerHeight - $(this).height){
        // it's the last visible line, do something with it. 
        // you can put a call to your server containing the 
        // line's current text with something like this:
        // var curText = $(this).val();
    }
}
于 2012-05-11T16:03:37.017 回答
0

this selects last .textline:

$('.textline').last().text()
于 2012-05-11T16:07:48.630 回答