如何使用jQuery在移动网络浏览器上设置滚动动画
How do I animate scroll on a mobile webbrowser using jQuery?
我不想实现的是当按下按钮时页面滚动到某个位置。我在Chrome和IE等浏览器上都有这个功能,但它似乎在任何移动浏览器上都不起作用。
这是我使用的代码:
$("#programmaMenu").on("click", "div", function(event){
event.preventDefault();
$('html').stop().animate({
scrollTop: $("#"+$(this).attr("rel")).position().top - 120
}, 500, 'swing');
});
事件确实启动,只是滚动没有发生。
感谢用户vohuman,这就是答案:
显然,移动浏览器滚动body元素,桌面浏览器滚动html元素。因此,问题的解决方案是选择元素"html"answers"body",如下所示:
$("#programmaMenu").on("click", "div", function(event){
event.preventDefault();
$('html, body').stop().animate({
scrollTop: $("#"+$(this).attr("rel")).position().top - 120
}, 500, 'swing');
});
使用这个并尝试,
$(document).on("click", "#programmaMenu", function(event){
event.preventDefault();
$('html').stop().animate({
scrollTop: $("#"+$(this).attr("rel")).position().top - 120
}, 500, 'swing');
});
相关文章:
- 能够在指向本地环境的浏览器中设置JavaScript断点
- 如何设置浏览器视口大小
- Android浏览器设置元素大小太小
- 如何设置浏览器打开的文件对话框的文件名(一些默认值)
- 设置客户端的浏览器内存
- 在IFrame中对jsp的onload是将IFrame设置为整个页面/浏览器
- 我无法在歌剧和互联网浏览器中设置cookie
- 浏览器不会将焦点设置在生成的输入上
- 为移动浏览器设置全尺寸背景图像的替代方法
- 地理位置和谷歌浏览器设置
- 如何在js中为日期选择器而不是浏览器设置时区
- 如何为没有JS的iPhone浏览器设置CSS规则
- 如何为所有浏览器设置iFrame内容的高度?
- javascript动画需要为不同的浏览器设置吗?
- 以编程方式更改浏览器设置以不缓存文档
- 除了浏览器设置外,还可以从弹出菜单更改chrome扩展语言
- 如何在不使用jQuery或javascript更改浏览器设置的情况下保留cookie
- 通过浏览器设置元素的高度,而不会切断内容
- 寻找一个脚本,可以在Chrome中运行,自动重置浏览器设置
- 可以根据用户的浏览器设置不同的max-height值吗?