Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:上/下滚动时突出显示一行_Javascript_Jquery_Scroll_Highlighting - Fatal编程技术网

JavaScript:上/下滚动时突出显示一行

JavaScript:上/下滚动时突出显示一行,javascript,jquery,scroll,highlighting,Javascript,Jquery,Scroll,Highlighting,在我的网页上,我在可滚动的DIV中创建了一个表 向下滚动时,我想突出显示表格中最中间的一行 我该怎么做 我发现下面的脚本非常接近我想要的-->www.rgagnon.com/jsdetails/js-0093.html 但这仅适用于MouseOver事件。我希望这不仅适用于MouseOver事件,而且在我简单地上下滚动时也适用。使用该事件 例如:(编辑:最终测试) 编辑:我更改了代码以使用特定元素的滚动条。 3rd EDIT:我更新了代码以防止闪烁。尝试使用。但我只想突出显示滚动窗口中最中间的一

在我的网页上,我在可滚动的
DIV
中创建了一个表

向下滚动时,我想突出显示表格中最中间的一行

我该怎么做

我发现下面的脚本非常接近我想要的-->www.rgagnon.com/jsdetails/js-0093.html

但这仅适用于
MouseOver
事件。我希望这不仅适用于MouseOver事件,而且在我简单地上下滚动时也适用。

使用该事件

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

编辑:我更改了代码以使用特定元素的滚动条。

3rd EDIT:我更新了代码以防止闪烁。

尝试使用。

但我只想突出显示滚动窗口中最中间的一(1)行。有意义吗?意思是,假设我的表中有10行,但我的可查看滚动窗口一次最多只能显示3行。因此,最初将显示第1-2-3行。在这种情况下,将突出显示第2行。现在让我们假设此人向下滚动一点,现在显示第2-3-4行。现在,第3行将是唯一高亮显示的行。进一步滚动,现在让我们说第7-8-9行是一个可视的。因此,现在突出显示第8行。我的代码应该正好做到这一点。请注意,我实际上没有尝试过。没有:(我只是尝试了上面的代码,我的页面现在不会加载。JQuery滚动事件是否需要除核心/基本JQuery之外的任何库?@SLake,有什么建议吗?你的代码看起来很有希望,但它正在冻结我的页面加载
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');
});