Windows 8 在windows 8 Javascript应用程序中导航到页面的特定部分

Windows 8 在windows 8 Javascript应用程序中导航到页面的特定部分,windows-8,windows-store-apps,Windows 8,Windows Store Apps,我正在使用JavaScript和HTML开发一个Windows8应用程序 我有一个页面,其中有不同的部分水平放置。我在另一个页面中有这些部分的链接。我希望页面从该特定部分加载(这意味着页面应该从该部分开始) 我使用的是一个网格模板,在主页上有一个listview。当我单击组中的任何项目时,导航到该页面并返回主页面。我想从我之前选择的部分加载主屏幕。屏幕应该自动滚动到该部分,就像从语义缩放中发生的一样 这方面的任何帮助都将大有裨益 感谢第一部分,将容器的scrollLeft属性设置为要滚动到的元素

我正在使用JavaScript和HTML开发一个Windows8应用程序

  • 我有一个页面,其中有不同的部分水平放置。我在另一个页面中有这些部分的链接。我希望页面从该特定部分加载(这意味着页面应该从该部分开始)

  • 我使用的是一个网格模板,在主页上有一个listview。当我单击组中的任何项目时,导航到该页面并返回主页面。我想从我之前选择的部分加载主屏幕。屏幕应该自动滚动到该部分,就像从语义缩放中发生的一样

  • 这方面的任何帮助都将大有裨益


    感谢第一部分,将容器的scrollLeft属性设置为要滚动到的元素的offsetLeft属性就足够了


    第二部分可以通过在导航离开前存储ListView的scrollPosition属性,并在导航返回后将其设置为旧值来实现。

    正如Mau li所说,向左滚动是一种解决方案——特别是对于非ListView内容。这里的关键是在返回时要保持多少体验。一个选项(同样,对于非listview内容)是找到您想要在屏幕上显示的元素,并在该元素上调用
    scrollIntoView
    。但是,这只会将项目显示在屏幕上,不会一直向左(或向右,对于BIDI语言),它只会滚动到足以在屏幕上显示整个元素

    对于listview,应使用(或,indexOfLastVisibleItem)将listview滚动到正确的位置。这是关键,因为listview是一个虚拟化控件,所以它为滚动listview位置提供了最准确、最可靠的方法。

    谢谢Dominic&Mau il

    我试着用document.getElementBy(“Id”).focus()回答第一个问题,结果成功了。但我在这方面遇到了问题

    我有四个div水平说“divA divB divC divD” 女主角的数据来自云端。当我点击主屏幕上divD的链接时。这不是第一次带我到相应的部分,因为加载divA需要一些时间。当第二次单击divD的链接时,将转到相应的部分。如果我使用setInterval(),它可以工作,但是当页面加载时,DivA会显示几秒钟,然后滚动到divD,这不好