使用按钮滚动 iframe - iPhone

Posted

技术标签:

【中文标题】使用按钮滚动 iframe - iPhone【英文标题】:Scroll iframe using buttons - iPhone 【发布时间】:2013-11-27 12:08:40 【问题描述】:

我正在创建使用 iframe 动态添加内容的网站(iframe 文件位于同一服务器上)。加载的 iframe 具有滚动 iframe 内容的按钮,但我找不到它在 iPhone 上不起作用的原因 - 它在 android 上运行良好。这是我使用的代码:

$('#menu li a').on('click', function()     
            var element = $(this).attr('data-scroll');      
            $('body').animate(
                scrollTop: $('.page[data-bookmarks=' + element + ']').offset().top
            , 1000);
        );

顺便说一句。单击事件效果很好,因为我使用警报检查了它。简单的 scrollTop 似乎不适用于 ios 设备。

【问题讨论】:

带有 html 的 jsfiddle 演示会很有帮助 尝试使用 -webkit-overflow-scrolling:touch 你的代码 不幸的是它不起作用。 @Ziggy 试试这个链接***.com/questions/4599153/… 是的,我检查过了,但问题是我正在尝试使用按钮滚动,使用手指滚动效果很好。 【参考方案1】:

我找到了几个可以解决这个问题的链接,但我遇到最多的是这个:

控制溢出的 div 比 iFrames 容易得多,并且滚动 + 空白内容问题一直可以追溯到 iOS 4,以前我什至无法让 2 指滚动工作(在iFrames)。

它是这样的:

<iframe id="example-iframe" width="600" height="200" src="a-file.html"></iframe>

a-file.html:

<html>
<body>
<div id="wrapper" style="width: 100%; height: 100%; overflow: auto; -webkit-overflow-scrolling: touch;">
...
</div>
</body>
</html>

其他链接

-webkit-overflow-scrolling: touch does not "obey" z-index iFrame scrolling doesn't work on an iPhone iFrame scrolling on an iOS device dropdown-menu problems with -webkit-overflow-scrolling:touch on the iPad

【讨论】:

以上是关于使用按钮滚动 iframe - iPhone的主要内容,如果未能解决你的问题,请参考以下文章

如何让按钮在发送时刷新页面,并且在重新加载时同时使用相同的按钮让 iframe 滚动到框架的底部

使用 jquery 单击时在 iFrame 内滚动

如何使 iframe 滚动到特定项目

iframe 中的模态在关闭其他模态后删除主窗口中的滚动

在 iFrame 中将 FIXED 定位到 Mainframe

ios中iframe的scroll滚动事件替代方法