Javascript 在PhantomJS中设置身体滚动顶部动画不';不要更改滚动上限值
作为组件测试的一部分,我试图验证元素是否在PhantomJS中滚动。虽然滚动代码在我们的应用程序中运行良好,但在Phantom中运行时元素的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
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
});