javascript - 无法在 Google Chrome 上运行的可点击锚导航
问题描述
我一直在寻找适用于 IE、Firefox、Safari 和 Edge 的 javascript 问题的解决方案。但是当我想在 Chrome 上使用它时,它不起作用。
我已经尝试了几个我在这里找到的解决方案,关于锚滚动,但没有一个工作,也许有人可以找到解决方案?这是我一直在使用的锚的代码。
<div class="link"><div class="name">PersoName</div><a class="scroll" href="#NAMEID"></a></div>
这就是锚应该去的地方
<div class="box" id="NAMEID" style="background:url('https://nsm09.casimages.com/img/2019/02/22//19022209080424648216131014.png')no-repeat center top fixed; background-color: #EEEEEE; -webkit-background-size: cover; -moz-background-size: cover; background-size: cover;">
如果您需要查看它的实际效果,这是我的测试:
https://morganpierce1329.tumblr.com/testperso
解决方案
我不确定您的问题的根本原因是什么,但四处搜索我找到了解决方法。您可以将以下代码添加到您的 Javascript 中,它应该可以正常工作(在 Chrome 控制台上进行了测试):
$(function() {
$('a[href*="#"]:not([href="#"])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html, body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
推荐阅读
- azure - 不确定如何注册可以拥有自己的 onedrive 文件夹的 Azure AD 应用程序
- python - Powell 方法 Scipy 中的边界
- r - 在 R 中使用 apply() 计算每列范围内的单元格数
- c# - ServiceStack IoC/DI:在容器中注册类 - 如何注册所有实现特定接口的类
- kotlin - 我应该使用哪些序列化依赖项?
- encryption - 关于 Spring Boot 加密/解密函数
- django - WebSocket 连接到“ws:/”失败:WebSocket 握手期间出错:意外响应代码:200
- sql-server - 哪个 SQL Server 版本支持 varchar(MAX) 数据类型
- python - 将列表中具有值的列转换为按特定列分组的单独行
- python - Dask DataFrames vs numpy.memmap 性能