jquery – 移动Safari bug固定定位按钮后scrollTop以编程方式更改…?

前端之家收集整理的这篇文章主要介绍了jquery – 移动Safari bug固定定位按钮后scrollTop以编程方式更改…?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我只是做了一个网页,但在Mobile Safari(iPhone和iPad iOS 5.0.1)有一个错误,有两个按钮固定在右上角。

直到在一个打开到页面其余部分的文本框上单击提交后,这些按钮才会淡入淡出…在页面的其余部分加载并且按钮褪色后,您可以单击其中任一个,并且它们都工作… …

然而,点击它们会导致程序滚动,滚动完成后,你不能再点击任何一个按钮,直到你实际上用手指滚动页面,即使只是一个小的一个像素滚动…

我注意到,在程序化滚动后,如果你点击略微低于TOP按钮,你会看到突出显示,如果你点击BOTTOM按钮,底部的按钮的操作,这告诉我的错误是,当滚动以编程方式,固定位置按钮仍然与页面的其余部分一起移动,并且不回到其固定位置,直到执行实际的触摸滚动….

有谁知道一个方法吗?

添加了一个弹出窗口,显示哪个按钮被按下,所以你可以测试它,记住第一次按下按钮(这是工作)后再次按下,它将无法工作,但单击下面的向上按钮,你会看到下来按钮操作发生….

http://www.tsdexter.com/ceos

谢谢您的帮助。

托马斯

(如果你可以指向我可以提交一个bug给苹果,那也是好的,除非已经有)

编辑:只需点击任一提交箭头,你不需要输入一个工资/工资,它有默认值

编辑2:这是一个更简单的例子来显示同样的问题。

http://www.tsdexter.com/MobileSafariFixedPosBug.html

编辑3:Bug报告给苹果

解决方法

我通过添加一个101%高的div,然后(几乎)立即删除它。

尝试:

<style>
.iosfix {
  height: 101%;
  overflow: hidden;
}
</style>

和当你滚动:

window.scrollTo(0,_NEW_SCROLLTOP_);
$('body').append($('<div></div>').addClass('iosfix'));
setTimeout(function() {
  $('.iosfix').remove();
},500);

它也适用于jQuery.scrollTo。

参见示例here

猜你在找的jQuery相关文章