JavaScript 将长页面滚动到锚点
JavaScript to scroll long page to anchor
本文关键字:滚动 JavaScript 更新时间:2023-09-26
我有一个页面,其中包含需要使用锚点的文档。HTML锚点不起作用,Javascript不起作用。我现在花了一些时间验证 w3 的标记,上次检查时没有错误。
我已经尝试过scrollToVisible
,它抛出了未定义,所以我继续阅读var topPos = document.getElementById('anchor1').offsetTop;
并使用它,没有错误,但它不会滚动。我还尝试使用window
和一些随机滚动,以及来自 Mozilla 文档的window.scrollTo( 0, 700 );
,但它不会进行滚动。然后我浏览了 HTML,并确保没有height:100%
CSS 规则(没有)。
它不会做滚动的原因是什么?
测试页面内容
Lorem ipsum dolor sit amet...
... about 5 x 300 of lipsum ...
<div id="anchor1">
Anchored. Lorem ipkjcdoeujrb...
</div>
<script>
var topPos = document.getElementById('anchor1').offsetTop;
// window.scrollTo(0, topPos);
window.scrollTo(0, 800);
</script>
如果您想查看特定内容,请发表评论。
这是一个解决方案。
$('a[href^="#"]').on('click',function(e){
e.preventDefault();
var target = $(this).attr('href');
$("html, body").animate({
scrollTop: $(target).offset().top
}, 400)
});
#top,#middle,#bottom{
width: 100%;
}
#top{
height: 1000px;
background: #ccc;
}
#middle{
height: 1000px;
background: #f00;
}
#bottom{
height: 1000px;
background: #0f0;
}
.nav{
position: fixed;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="nav">
<ul>
<li><a href="#top">Top</a></li>
<li><a href="#middle">Middle</a></li>
<li><a href="#bottom">Bottom</a></li>
</ul>
</div>
<div id="top"></div>
<div id="middle"></div>
<div id="bottom"></div>
你不能
只做window.open('#anchor1','_self')吗?
相关文章:
- 幻灯片滚动javascript不起作用
- 谷歌地图API-如何停止滚动(JavaScript)
- slim向左和向右滚动javascript,而不是向上和向下滚动
- 滞后向左滚动Javascript
- 在聚焦文本输入的同时使用箭头键滚动(Javascript)
- 无限滚动 JavaScript 未运行
- 平滑滚动 JavaScript 影响模态功能
- 检测鼠标滚轮的使用情况,但保持页面滚动(javascript/jquery)
- 为什么不是't我的Parallax滚动JavaScript代码正在工作
- 平滑滚动Javascript滚动减去100px(固定标题导航)
- 标头不是't滚动-Javascript
- 可以't在webview中加载页面后滚动javascript映射
- 自定义滚动javascript困惑
- Aptana Studio 3 MAC OS在滚动JavaScript文件时间歇性死机
- 平滑滚动javascript禁用超链接
- 平滑滚动javascript代码与Bootstrap标签代码混淆
- 禁用水平滚动JavaScript
- 没有滚动javascript导致不工作的文本输入?iPhone Web App
- 添加渐变过渡到丹尼尔诺兰的img滚动javascript
- 你能得到用户的滚动位置,每次他们滚动JavaScript/jQuery