【问题标题】:Get the div of current scroll offset of UIWebView获取UIWebView当前滚动偏移的div
【发布时间】:2013-04-05 08:37:15
【问题描述】:

我有两个不同的 HTML 文件,两个不同的 UIWebViews 和一个 UISegmentControl。在 segmentChanged 上,我通过加载 HTML 文件显示了 WebView。 两个 HTML 文件都包含公共部分,仅更改了部分内容。现在我想实现这样的功能,当用户读取第一个WebViewsection 1.1 并单击Segment 以加载第二个WebView,然后第二个WebView 需要scroll 直到section 1.1,他首先读入WebView,反之亦然。还有n个部分。 我使用了以下javacript,但它需要当前div id的参数。但是在scroll 上,我怎样才能获得当前可见的div id。我为每个div 提供了id

function pointInView(id)
{
    var divid = document.getElementById(id);
    divid.scrollIntoView(true);
    return false;
}

请大家帮帮我。

【问题讨论】:

    标签: html objective-c uiwebview uiscrollview


    【解决方案1】:

    我认为 jquery 可能会来拯救你。

    你能使用 jQuery,因为它是跨浏览器兼容的吗?

    http://stackoverflow.com/questions/5353934/check-if-element-is-visible-on-screen
    

    查看 BenM 的答案

    【讨论】:

    • 上面的链接基本上是用于 JQuery 但我想要它在 Javascript 中。
    • 同一个链接在 jquery 的下方有一个 javascript 实现。
    【解决方案2】:

    我进行了很多搜索以从当前scroll offset 获取 div id,但没有找到解决方案。所以我选择另一个选项,将每个部分的开始和结束偏移量存储在两个文件中。所以我在数据库中创建了一个查找表并将每个部分的开始和结束偏移量存储在两个文件中。

    例如。当用户scrolls第一个webviewsection 1.1&点击开关打开第二个webview,然后我scrolled第二个webview到第二个文件的1.1节。

    【讨论】:

      【解决方案3】:

      您实际上并不需要一个 db 条目。只需通过类似的方式捕获点击事件

      $('.action').click(function(){
          document.location = yourSecondFIleLocation+'?offset = ' + $('selectorDiv').detOffsetFromParentDiv(); //or get the scroll offset from the page.
      });
      

      然后用 php 或 jQuery 在第二页上捕捉它以滚动到它。

      如果您在代码中放入段落标记并正确链接到它们,这甚至是可以实现的。

      【讨论】:

      • 我没有点击网页视图中的任何地方,只是滚动它。
      • 那么就可以了。只需在滚动条上添加事件侦听器。并在切换到另一个窗口时获取位置。
      【解决方案4】:

      请在下面尝试,

      要在任何位置滚动任何滚动视图,我们设置滚动视图的内容偏移量。 为了解决您的问题,我们有两种解决方案,

      1. 在您的情况下,当用户查看第一个 Web 视图时,将第一个 Web 视图的内容偏移量保存在任何变量中,如下所示 CGFloat offset = webView1.scrollView.contentOffset.y;那么当你 打开第二个 Web 视图,然后将此偏移值提供给第二个 网页视图滚动偏移量。

      2. 设置 webView1.scrollView.contentOffset=webView2.scrollView.contentOffset 根据您的需要,反之亦然

      希望对你有帮助。

      【讨论】:

      • 但两个文件中的偏移量不同。只有部分相同。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      相关资源
      最近更新 更多