javascript - 当链接已经有 anchor 滚动时滚动到另一个页面上的位置

标签 javascript jquery html

我在 home page 上有这个滚动到 id 位置的菜单:

<li><a href="#event-section">El evento</a></li>
<li><a href="#asistentes-section">Asistentes</a></li>
<li><a href="#contact-section">Contacto & Inscripciones</a></li>

我正在使用这个脚本来实现平滑滚动:

var $root = $('html, body');
$('a').click(function() {
    $root.animate({
        scrollTop: $( $.attr(this, 'href') ).offset().top
    }, 500);
    return false;
});

这非常有效。

问题是我在站点中有另一个页面。当用户进入它并单击菜单的任何链接时,它只是不起作用,因为 divs 仅存在于 home page 上。我希望如果用户在另一个页面中并单击菜单的链接,则 home page 打开并转到该部分。

知道如何修复此菜单以同时执行这两项操作吗?

最佳答案

尝试添加 index.html,然后在除主页之外的所有其他页面中像下面那样散列。这应该有效。

<li><a href="index.html#event-section">El evento</a></li>

关于javascript - 当链接已经有 anchor 滚动时滚动到另一个页面上的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30642909/

相关文章:

javascript - 仅更改悬停元素内的类

javascript - .each jQuery 仅以这种形式捕获最后一个元素

javascript - 表单提交后保留 div 值

javascript - Jquery .on 事件未在 Chrome 中触发

javascript - 使用 Bootstrap 按钮组交换 Div

javascript - 将 svg.js 与 TypeScript 结合使用

javascript - 在 IE8 中输入密码的 jQuery 输入占位符

php - 处理来自 php 和 jQuery 的 json 变量,改为给出文本变量

html - 当其他元素消失时,div 元素占据所有宽度

html - 如何设置与父元素相同的高度