簡體   English   中英

在PhantomJS中動畫身體scrollTop不會更改scrollTop值

[英]Animating body scrollTop in PhantomJS doesn't change scrollTop value

作為組件測試的一部分,我試圖驗證元素是否在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>');

然后給第三個div賦予$element ,使scrollTop動畫(所以offset().top == 4000)。

$body.animate({
    scrollTop: $element.offset().top
}, 150, function() {
    // $body.scrollTop() is still 0
});

然而,動畫結束后,主體將不會報告任何新的scrollTop。

我一直找不到解釋此問題的文檔或其他示例。

您是否嘗試過設置頁面的viewportSize 我猜想,如果未設置大小,則會渲染整個頁面,因此無需滾動(整個頁面在視口中可見)。

這是該屬性的描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM