只是想知道是否有人能够解决 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/