2017-02-09 48 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)。 –