2017-02-09 50 views
1

scrollTo中的WebView UWP可以通過以下方式實現:平滑scrollTo

private string ScrollToTopString = @"window.scrollTo(0,0);"; 
private async void ButtonClick(object sender, RoutedEventArgs e) 
{ 
    await WebViewTest.InvokeScriptAsync("eval", new string[] { ScrollToTopString }); 
} 

但是,我們在WebView中UWP動畫/平滑滾動?在Android中,通過官方或通過變體實現(例如,使用android.animation.ObjectAnimator),而在UWP中,只有ScrollViewer似乎支持它,據我所知。 Example 1Example 2

任何想法?

回答

2

由於WebView本身並不實際滾動,所以不能對WebView設置動畫,就像您的瀏覽器沒有實際滾動一樣;這是滾動的「窗口」元素。

不過,如果我理解你想要正確的東西,只是這個替換您的ScrollToTopString

var ScrollToTopString = @"var int = setInterval(function() { 
window.scrollBy(0, -5); 

if(window.pageYOffset === 0) 
    clearInterval(int); 
}, 1);"; 

這將滾動我提到的「窗口」元素。您可以提高間隔的速度(將其設置爲1)以減慢動畫速度,或者降低scrollBy的值以使其更快。

+1

完美。非常感謝你澄清條款和幫助我。這完全是關於[「窗口」對象](http://www.w3schools.com/jsref/obj_window.asp)。 –