Adi*_*Adi 121 jquery scroll jquery-animate
我想在页面加载时将滚动设置为特定ID.我做了很多研究并遇到了这个问题:
$("html, body").animate({ scrollTop: $('#title1').height() }, 1000);
Run Code Online (Sandbox Code Playgroud)
但这似乎从ID和动画到页面顶部开始?
HTML(位于页面的一半)很简单:
<h2 id="title1">Title here</h2>
Run Code Online (Sandbox Code Playgroud)
Bum*_*2na 322
您只是滚动元素的高度.offset()返回元素相对于文档的坐标,topparam将给出元素沿y轴的像素距离:
$("html, body").animate({ scrollTop: $('#title1').offset().top }, 1000);
Run Code Online (Sandbox Code Playgroud)
你也可以添加一个延迟:
$("html, body").delay(2000).animate({scrollTop: $('#title1').offset().top }, 2000);
Run Code Online (Sandbox Code Playgroud)
Vla*_*ovk 10
使用scrollIntoView()函数的纯JavaScript解决方案:
document.getElementById('title1').scrollIntoView({block: 'start', behavior: 'smooth'});Run Code Online (Sandbox Code Playgroud)
<h2 id="title1">Some title</h2>Run Code Online (Sandbox Code Playgroud)
PS'平滑'参数现在可以在Chrome 61中使用,如评论中提到的julien_c.
小智 5
弃用通知:该jQuery.browser属性已在 jQuery 1.9 中删除。访问文档了解更多详情:https : //api.jquery.com/jQuery.browser/
$(jQuery.browser.webkit ? "body": "html").animate({ scrollTop: $('#title1').offset().top }, 1000);
Run Code Online (Sandbox Code Playgroud)
来源:jQuery Animate Body Scroll For All Browsers
| 归档时间: |
|
| 查看次数: |
298056 次 |
| 最近记录: |