jQuery scrollTop - Mozilla/Firefox 中不支持负值

标签 jquery firefox scrolltop

只是想知道是否有人能够解决 Firefox/Mozilla 不支持负 scrollTop 值的问题。

Chrome 和 Safari (WebKit) 似乎都能够允许用户滚动过去的页面内容,并在 jQuery 中使用 scrollTop 时返回负值。尽管在 Firefox 上使用时,无法滚动内容并接收负 scrollTop 值。

还有人遇到同样的问题吗?

谢谢, 大卫

最佳答案

由于在传递负值时,scrollTop 的默认行为会滚动到 0,因此我执行了这个处理scrollTop 并模拟“scrollDown”的函数。

如果anchor_pos为负数(因此它位于当前滚动位置之上),我会从当前滚动位置中减去它的值(因为它有负值,所以我使用+号)

function jumpToAnchor(scrollable_div_selector, anchor_selector)
{
    anchor_pos = $(anchor_selector).position().top;

    //check if negative value
    if (anchor_pos < 0)
    {
        anchor_pos = $(scrollable_div_selector).scrollTop() + anchor_pos; //anchor_pos is negative, so i'm substracting it
    }

    $(scrollable_div_selector).scrollTop(anchor_pos);
}

关于jQuery scrollTop - Mozilla/Firefox 中不支持负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11288993/

相关文章:

php - 不错的 url 传递变量

Chrome 中的 JQuery 问题

javascript - jQuery 中的 ScrollTop 问题(Chrome 中的 moSTLy)

jquery - 具有两个内容区域的水平网站

javascript - 如何在 JavaScript 中创建自己的类似 jQuery 的函数?

javascript - 有没有更好的方法在没有 jQuery UI 的情况下使用 jQuery UI 小部件工厂?

javascript - 使用选择器在 jQuery 中的性能

html - Perl,使用 Mechanize-Firefox,如何在保留在较大框架集中的同时扩展框架。

firefox - 如何在 Firefox 浏览器中模拟移动设备并进行调试?

JavaScript 上下滚动不可预测