html - 在同一页面中重用(用户单击)相同的 HTML 锚 (#)
问题描述
我不得不在一个名为 Unily 的平台上开发一个 html 页面,它不允许我使用任何 JS 或 CSS(内联除外)。该页面很长,我想为它们使用锚点导航回页面顶部。当您第一次单击顶部时这很好,但是因为如果您向下滚动并再次单击 #top 链接,则 URL 现在是 #TOP,它什么也不做。
有没有什么方法可以在不使用 JS 的情况下让它多次工作?
解决方案
您可以使用内联 javascript 来执行此操作。
<html>
<script type="text/javascript">
function scrollTo(anchor) {
location.hash = anchor;
location.hash = "";
}
</script>
<style>
div a { display: block; min-height: 1000px; background-color: blue;}
</style>
<body>
<div>
<a id="loc1">text</a><br>
</div>
<a href="" onClick="scrollTo('loc1')">go to Loc 1</a>
</body>
</html>
上面的代码片段在嵌入时不起作用,但您可以轻松地将其复制到计算机上的 html 文件并在本地浏览器中运行。它可以工作,甚至不会修改 URL,因此您可以避免 URL 中出现丑陋#
的 '。
推荐阅读
- firebase - 为什么 404.html 在服务工作者缓存期间会导致未捕获的错误?
- plsql - 如何为更新列的数量是动态的编写更新语句
- ckeditor - TYPO3中ckeditor下拉菜单中的字体大小
- html - 在 Spring 中从服务器端渲染 Html/js
- java - Selenium Java Vk 密钥异常
- xamarin - 如何通过传入类型参数来自定义 Xamarin 模板?
- docker - 使用 `docker inspect` 获得的层摘要与从注册表 API 获得的层摘要之间存在差异
- sql - Postgresql 排除已经存在的友谊关系
- vba - Excel VBA宏将符合条件的行复制到另一张纸上的新行
- android - WorkManager - 运行周期性任务