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 1 Example 2
有什么想法吗?
答案 0 :(得分:2)
您无法为WebView
设置动画,因为WebView
本身并非实际滚动,就像您的浏览器实际上没有滚动一样;它是"窗口"滚动的元素。
但是,如果我理解您的想法,请将ScrollToTopString
替换为:
var ScrollToTopString = @"var int = setInterval(function() {
window.scrollBy(0, -5);
if( window.pageYOffset === 0 )
clearInterval(int);
}, 1);";
这将滚动"窗口"我提到过的元素。您可以提高间隔的速度(我将其设置为1)以减慢动画速度,或降低scrollBy
的值以使其更快。