这是 iScroll 的一个已知问题,它似乎只发生在菜单完全停止工作的 iOS5 中。我在 iScroll 中的所有子链接都是哈希锚。有没有人有解决方法?
问问题
468 次
1 回答
2
我处理它的方式是自己劫持锚链接并用scrollToElement
调用替换它们。
// Hijack hash anchors and scroll to them
$('a').click ( function (e) {
var id = $(this).attr('href');
if (id.substr(0,1) == '#') {
e.preventDefault();
setTimeout( function() {
scroller.scrollToElement ( id, 0 );
}, 0);
return false;
} else {
return true;
}
});
此代码应该只劫持以 . 开头的链接#
。然后它处理修复了一些其他间歇性错误的scrollToElement
in a 。setTimeout
只要您的锚点正确命名为 id,它对我来说效果很好。如果您使用name
属性而不是id
属性,则需要重写这些。
如果为空,此代码将复制name
属性并将它们放入属性中。id
不过,您可能不需要这个。
$('a').each (function (i, e) {
var n = $(e).attr('name');
var id = $(e).attr('id');
if ( typeof id == 'undefined' || id === null || id === '') {
$(e).attr('id', n);
}
});
于 2013-01-24T21:56:51.953 回答