首页 > 解决方案 > Android - WebView - 滚动到选定的 id

问题描述

我创建了一张世界地图的 HTML 文件。想法:点击一个国家的地图(它有它的id)后,地图必须滚动到国家所在的地方并居中。

在 HTML 中,我给出了函数代码:

function scrollToElement(id) {

    var elem = document.getElementById(id);

    var x = 0;
    var y = 0;

    while (elem != null) {
        x += elem.offsetLeft;
        y += elem.offsetTop;
        elem = elem.offsetParent;
    }
    window.scrollTo(x, y);
}

在 Java 文件的正确位置,我添加了使用传递参数调用此函数的代码:

web_wiev.loadUrl("javascript:scrollToElement('" + msgeToast + "')");

其中: msgeToast 是转发的 id。不幸的是,地图不滚动(有时它滚动,但不在需要的地方,有时它根本不滚动)。你有什么想法?

标签: javaandroidandroid-studiowebviewscroll

解决方案


尝试这个,

function scrollTo(element){
            document.getElementById(element).scrollIntoView();
        }

推荐阅读