使用此功能获取点击次数:
$("nav li a").click(function(event) {
event.preventDefault();
target = $(this).attr("href").replace('#', '');
goToByScroll(target);
});
这是滚动功能:
function goToByScroll(id) {
$('html, body').animate({
scrollTop: $("#"+id).offset().top - totalHeight
}, 'slow');
}
第一次点击有效,但之后链接不可点击/活动,除非手动滚动页面。有什么想法吗?
答案 0 :(得分:1)
根据iOS人员的进一步调查,我们发现它是iOS5上的Safari中的一个错误。
我试过了;
// $('html,body').animate({ scrollTop: scrollto + 'px' }, 'slow')
window.scroll(0,0);
并且看到它实际上在屏幕下方引出了固定标题。点击工作。
所以我把代码换回来了,虽然它在顶部正确地绘制了标题,但是活动点击区域仍然在页面的下方,虽然是不可见的,但是可以点击。
似乎他们已经解决了在iOS6上测试的问题。
我耗尽了所有类型的CSS和DOM操作,删除并重新插入新的标题区域......没有任何作用。
所以我99%肯定发布这个答案。大声笑。虽然我意识到这对你没有帮助。
答案 1 :(得分:0)
这里有许多因素可以发挥作用,大部分都不涉及您链接的代码。点击不起作用:
对于第一个出现问题的可能性,您的元素必须保持不可点击状态,直到刷新或重新创建单击处理程序。检查单击处理程序是否未构建多次。您可以通过在致电$(element).click(function() { ... })
时设置断点或警报/控制台声明来执行此操作。
对于问题的第二种可能性,需要在可点击元素之上存在另一个元素。这可以通过使用浏览器或浏览器扩展来检查,该扩展允许您右键单击要检查的元素。如果被检查的元素不是您的可点击元素,则可能是这个问题。
对于问题的第三种可能性,您必须检查可点击元素在不可点击时的位置,大小和形状。使用浏览器或浏览器扩展选择并突出显示页面上的元素。看看它的显示位置,它有什么尺寸,它是z-index
评估的内容,它有什么显示属性(display: inline
因引发可点击性问题而臭名昭着),如果它甚至“实际上” “在当前的视口中。
简而言之,您发布的代码几乎没有说明可能发生的事情,因此您需要进行更多调试或提供更多代码。