Javascript 在PhantomJS中设置身体滚动顶部动画不';不要更改滚动上限值

Javascript 在PhantomJS中设置身体滚动顶部动画不';不要更改滚动上限值,javascript,jquery,phantomjs,Javascript,Jquery,Phantomjs,作为组件测试的一部分,我试图验证元素是否在PhantomJS中滚动。虽然滚动代码在我们的应用程序中运行良好,但在Phantom中运行时元素的scrollTop 为了测试,我确保身体有一个最大高度,以防万一 $body = $('body').css({ 'max-height': '1000px', overflow: 'scroll' }); 然后我添加了一些元素,这些元素比主体延伸得更远 $body.append( '<div style="height: 2

作为组件测试的一部分,我试图验证元素是否在PhantomJS中滚动。虽然滚动代码在我们的应用程序中运行良好,但在Phantom中运行时元素的
scrollTop

为了测试,我确保身体有一个最大高度,以防万一

$body = $('body').css({
    'max-height': '1000px',
    overflow: 'scroll'
});
然后我添加了一些元素,这些元素比主体延伸得更远

$body.append(
    '<div style="height: 2000px;"></div>' +
    '<div style="height: 2000px;"></div>' +
    '<div style="height: 2000px;" data-uid="1"></div>');
然而,动画完成后,身体不会报告任何新的scrollTop


我找不到解释此问题的文档或其他示例。

您是否尝试过设置页面的
viewportSize
?我猜如果没有设置大小,整个页面就会被渲染,因此不需要滚动(整个页面在视口中可见)


您是否尝试过设置页面的
viewportSize
?我猜如果没有设置大小,整个页面就会被渲染,因此不需要滚动(整个页面在视口中可见)


该属性的

动画是否向右滚动?值没有改变?我不知道你在问什么。即使我设置了
$('body')。scrollTop(4000)
$('body')。scrollTop()
仍然返回0。我也不应该说,JQuery animate接受css属性,这意味着它接受top,但不接受scrollTop。这在Chrome/Firefox/等中工作得非常好。这只是在幻影中失败了动画是否正确滚动?值没有改变?我不知道你在问什么。即使我设置了
$('body')。scrollTop(4000)
$('body')。scrollTop()
仍然返回0。我也不应该说,JQuery animate接受css属性,这意味着它接受top,但不接受scrollTop。这在Chrome/Firefox/等中工作得非常好。它只是在Phantom中失败了
$body.animate({
    scrollTop: $element.offset().top
}, 150, function() {
    // $body.scrollTop() is still 0
});