【发布时间】:2018-09-15 02:03:47
【问题描述】:
一直在寻找解决我的问题的方法,即在单击链接时阻止我的页面滚动到顶部。我的网站上有这个侧边栏,每次点击链接时,页面都会移到顶部。 这是sidenav:
<ul class="sidenav" <?php if(isset($p)) echo "id='".strip_tags($p)."'"; ?>>
<li id="a"><a href="?p=a">A</a></li>
<li id="b"><a href="?p=b">B</a></li>
<li id="c"><a href="?p=c">C</a></li>
</ul>
我正在使用 jquery-1.11.3.min.js 和 bootstrap-3.3.7.js。为什么它会滚动到顶部,我应该怎么做才能防止这种情况发生?我已经看到了一些带有 #! 的解决方案!和类似的,但它也会阻止加载链接,我不希望这种情况发生。
【问题讨论】:
-
是滚动还是刷新页面?
-
在您的链接上使用哈希?例如
?p=c#id-of-element-to-jump-to或使用ajax -
以$p为例。我认为用作 id 可能是无效的。如果没有找到点击的 id,它将跳转到顶部。
-
不确定您的意思,但是当使用
a链接加载页面时,浏览器会重新加载自身,导致它从顶部开始。现在,在新页面加载完毕后,您不希望它再次向下滚动到那个 sidenav 吗? -
@Bernhard 该链接并非无效 - 它加载完美。我希望它留在原处而不是向上滚动。
标签: javascript php jquery scroll href