获取UIWebView的当前滚动偏移的div

时间:2013-04-05 08:37:16

标签: html objective-c uiwebview uiscrollview

我有两个不同的HTML文件,两个不同的UIWebViews&一个UISegmentControl。在segmentChanged上,我通过加载HTML文件显示了WebView。 两个HTML文件都包含公共部分,只有部分内容被更改。现在,我希望实现当用户阅读第一个section 1.1的{​​{1}}时的功能。点击WebView加载第二个Segment,然后第二个WebView需要WebView,直到scroll,然后他首先读取section 1.1,反之亦然。还有n个部分。 我使用了以下javacript,但它需要当前WebView的参数。但是在div id上,如何才能获得当前可见scroll。我为每个div id提供了id

div

任何人都可以帮助我。

4 个答案:

答案 0 :(得分:2)

我认为jquery可能会来救你。

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

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

查看答案表BenM

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

你真的不需要db条目。只需点击

之类的点击事件即可
$('.action').click(function(){
    document.location = yourSecondFIleLocation+'?offset = ' + $('selectorDiv').detOffsetFromParentDiv(); //or get the scroll offset from the page.
});

并使用php或jQuery在第二页上捕获它以滚动到它。

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

答案 3 :(得分:0)

请在下面试试,

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

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

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

  3. 我希望这会对你有所帮助。