Flask href锚定在不同的页面(导航栏)

2024-09-29 19:32:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Flask开发一个web应用程序。在主页(index.html)上,导航栏使用锚点将一个导航栏导航到页面上的特定部分:

<a class='text' href='#body2'>calculate</a>

<a id="body2"></a>

在主页上,有一个表单将您链接到一个新页面(output.html)。我希望使用相同的导航栏将用户导航到上一页(index.html)和特定部分。我在第二页上写了导航链接,如下所示:

<a class='text' href="{{ url_for('index') }}#body2">calculate</a>

单击导航链接时,不会加载新页面。然而,这是一件奇怪的事情,当我在浏览器中检查导航链接元素并通过inspect客户端单击该链接时,它确实会将我带到正确的页面/部分

如果我从上述行中删除“#body2”,它会成功地将我导航到上一页,但不会导航到特定部分

(如果您想实际试用web应用程序上的导航链接,请使用以下链接: {a1} -在空白表单条目中输入一些随机值,它将带你到第二页。它是通过谷歌的App Engine运行的,但这绝对不会引起问题,因为当我在本地主机上运行站点时,问题仍然存在。p>


Tags: textweb应用程序flask表单index链接html
1条回答
网友
1楼 · 发布于 2024-09-29 19:32:55

您在smoothscroll.js中有一个错误

enter image description here

$(document).ready(function(){
  $("a").on('click', function(event) {
    if (this.hash !== "") {
      event.preventDefault();

      var hash = this.hash;


      $('html, body').animate({
        scrollTop: $(hash).offset().top
      }, 800, function(){

        window.location.hash = hash;
      });
    }
  });
});

advpy页中,$(hash).offset()未定义,因此top未定义。由于您正在阻止默认事件(event.preventDefault();),因此不会单击链接

相关问题 更多 >

    热门问题