在我的网页上,我可以滚动DIV中的表格。

向下滚动时,我要突出显示表格中最可见的中间行。

我该怎么做?

我发现以下脚本符合我的要求-> www.rgagnon.com/jsdetails/js-0093.html

但这仅适用于MouseOver事件。我希望这不仅适用于MouseOver事件,而且还可以在我向上/向下滚动时使用。

最佳答案

使用scroll事件。

例如:(编辑:最终测试)

var scrollElem = $('div#panel-hlisting-all');
scrollElem.scroll(function() {
    var scrollElemPos = scrollElem.offset();

    var newCenter = $(document.elementFromPoint(
        scrollElemPos.left + scrollElem.width()  / 2,
        scrollElemPos.top  + scrollElem.height() / 2)
    ).closest('.hlisting');

    if(newCenter.is(".CenterRow")) return;
    $('.CenterRow').removeClass("CenterRow");
    newCenter.addClass('CenterRow');
});


编辑:我更改了代码以使用特定元素的滚动条。
第3次编辑:我更新了代码以防止闪烁。

09-12 21:03