Jquery plugins jQuery Colorbox,iframe内容在iPad中不滚动
在iPad上查看时,颜色框iframe内容不会滚动,请阅读以下内容: 当显示的网页尺寸大于Ipad中为颜色盒设置的尺寸时,滚动功能将被禁用和/或不存在 有些人可能建议用一个手指或两个手指滚动,但这不起作用 预需求: 拥有一台Ipad,或者去当地的百思买 复制步骤: 去 单击外部网页(Iframe)链接, 在谷歌搜索中输入一些东西 结果: 您无法滚动浏览结果 有解决办法吗?是否正在着手解决此问题? 顺便说一句,这在IE、Chrome和Firefox上运行良好Jquery plugins jQuery Colorbox,iframe内容在iPad中不滚动,jquery-plugins,lightbox,colorbox,Jquery Plugins,Lightbox,Colorbox,在iPad上查看时,颜色框iframe内容不会滚动,请阅读以下内容: 当显示的网页尺寸大于Ipad中为颜色盒设置的尺寸时,滚动功能将被禁用和/或不存在 有些人可能建议用一个手指或两个手指滚动,但这不起作用 预需求: 拥有一台Ipad,或者去当地的百思买 复制步骤: 去 单击外部网页(Iframe)链接, 在谷歌搜索中输入一些东西 结果: 您无法滚动浏览结果 有解决办法吗?是否正在着手解决此问题? 顺便说一句,这在IE、Chrome和Firefox上运行良好 有人为此找工作吗???任何帮助都将不
有人为此找工作吗???任何帮助都将不胜感激。您是否可以控制自己的iframe内容,或者是来自外部网站(即位于不同域)的内容?如果是后者,我也无能为力 如果您控制iframe内容,则可以使用解决问题 iframe的主体应该有CSS-overflow:auto,并且需要在iframe内容周围加上一个div。在iframe内部就绪时,获取iframe窗口的高度,将wrapper div的css高度设置为窗口的高度(或稍低一点),然后将jScrollPane应用于wrapper div
$(document).ready(function() {
var $container = $("#myDiv");
var $win = $(window);
if ($container.height() >= $win.height()){
$container.css({
'width': $win.width(),
'height': $win.height()
});
$container.jScrollPane();
}
});
更新-作者修复问题
显然,杰克今天(2013年2月4日)就有这个问题。值得从他的页面获取最新版本
先前的解决方案 好的,我无法让jScrollPane正常工作。这并不是说你不会这么做,但我也在使用自定义调整大小来调整iframe的大小,我认为它与jScrollPane的维度计算不太协调 解决方案 不过,我还是设法让它正常工作了,这要归功于解决了iOS iframe滚动的更一般问题,这要归功于。我对她的代码做了一些调整,以更好地使用colorbox。请注意,这仅适用于控制iframe内容的情况 只需将以下代码放入iframe中:
setTimeout(function () {
var startY = 0;
var startX = 0;
var b = document.body;
b.addEventListener('touchstart', function (event) {
startY = event.targetTouches[0].screenY;
startX = event.targetTouches[0].screenX;
});
b.addEventListener('touchmove', function (event) {
event.preventDefault();
var posy = event.targetTouches[0].screenY;
var h = parent.document.getElementById("cboxLoadedContent");
var sty = h.scrollTop;
var posx = event.targetTouches[0].screenX;
var stx = h.scrollLeft;
h.scrollTop = sty - (posy - startY);
h.scrollLeft = stx - (posx - startX);
startY = posy;
startX = posx;
});
}, 1000);
滚动并不紧张,虽然您没有本地滚动的逐渐减速,但当您抬起手指时,滚动就会停止。另外,没有滚动条。除此之外,这是一个完美的解决方案
对于不控制iframe的场景,提供了另一种尝试。我刚刚完成了这项工作,在我的常规css中添加了
#cboxLoadedContent{-webkit overflow scrolling:touch;}
然后,在colorbox打开的视图中,我向css添加了以下样式body{-webkit transform:translate3d(0,0,0);}
这在iPad和iPhone上都可以使用。您在这方面遇到过任何问题吗?我目前正在用iframed colorbox进行尝试,它可以工作,但在我滚动的较长页面上,整个colorbox会跳到一边。如果我继续移动,它会自动重置,卷轴会跳回顶部。我没有遇到这个问题,因为我的页面不是特别长。我只是尝试了一下,发现它第一次起作用,但之后它打破了颜色框。不确定你是否有相同的结果。我检测到一个bug,它总是有效的,但是,如果你从颜色框中触摸并在网页上滚动(而不是进入去颜色框),关闭按钮就会失败。