我不想实现的是按下按钮时滚动到某个位置的页面。我在Chrome和IE等浏览器上工作,但似乎无法在任何移动浏览器上运行。
这是我使用的代码:
$("#programmaMenu").on("click", "div", function(event){
event.preventDefault();
$('html').stop().animate({
scrollTop: $("#"+$(this).attr("rel")).position().top - 120
}, 500, 'swing');
});
事件触发,只有滚动不会发生。
答案 0 :(得分:5)
感谢用户vohuman,这就是答案:
显然,移动浏览器会滚动body元素,桌面浏览器会滚动html元素。因此,问题的解决方案是选择元素'html'和'body',如下所示:
$("#programmaMenu").on("click", "div", function(event){
event.preventDefault();
$('html, body').stop().animate({
scrollTop: $("#"+$(this).attr("rel")).position().top - 120
}, 500, 'swing');
});
答案 1 :(得分:0)
使用此功能并尝试
$(document).on("click", "#programmaMenu", function(event){
event.preventDefault();
$('html').stop().animate({
scrollTop: $("#"+$(this).attr("rel")).position().top - 120
}, 500, 'swing');
});