单击链接时在导航中使用jQuery - 转到目标页面,然后滚动到页面

时间:2016-02-24 11:46:08

标签: javascript jquery html css

好的,所以我一直在这里寻找并看到一些类似的问题,但无法理解我遇到的问题的答案。如果这是重复其他人发布的问题,那么道歉。

我遇到的问题;

我有一个多页网站,我正在Concrete5平台上构建。我有几个部分 - 家庭,产品,关于&联系。

在about页面中有3个部分(我们是谁,产品开发和我们的故事) - 所有部分都被设置为100vh并填满屏幕,然后使用jQuery滚动功能滚动浏览用于向上和向下滚动鼠标滚轮(页面一次滚动整个100vh部分) - 所以它具有与此相同的效果 - http://www.bang-olufsen.com/en - 它还包含类似的'点&# 39;可以单击向上或向下滚动。我使用ID来获取此信息。

我需要的是在about选项卡上,在导航中 - 它有一个包含三个部分链接的子菜单(目前这些链接都在about页面的顶部)。

我已经尝试了这个www.example.com/about#our-story等 - 这不起作用,因为Concrete5似乎把它读作一个新页面,只显示一个没有内容的空白页面。

所以我需要的是子菜单链接将用户带到页面,然后一旦加载 - 去找相关部分,即如果用户点击了我们的故事&#39 ;链接它将转到about页面,然后向下滚动到我们的故事部分。

有什么想法吗?

对于任何能够提供解决方案的人,我都不知道你是谁。如果您正在寻找付款,我可以告诉您我没有钱。但我所拥有的是一套非常特殊的技能,我在很短的职业生涯中获得的技能。让我作为jQuery开发人员变得非常糟糕的技能。如果你现在帮助我,那将是它的终结。但如果你不这样做,我会在接下来的几个小时里挣扎 - 也许是几天,如果你帮助我我不会,我会欠你的:P

由于

3 个答案:

答案 0 :(得分:3)

您可以像这样使用jQuery Animtion:

 <script>
        $(document).ready(function () {
            $("html, body").animate({ scrollTop: $('.MySecondSection').offset().top - 90 }, 2000, function () {
            });
        });

    </script>

修改

<script>
                $("#myClickableItem").click(function () {
                    $("html, body").animate({ scrollTop: $('.MySecondSection').offset().top - 90 }, 2000, function () {
                    });
                });
    </script>

-90表示导航栏的高度。你可以跳过或改变它。

修改:

&#13;
&#13;
  $("#myClickableItem").click(function() {
    $("body").animate({
      scrollTop: $('#div2').offset().top
    }, 2000, function() {});
  });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div1" style="width:100%;height:500px;float:right;background-color:#ffeeee">
  <span id="myClickableItem" style="cursor:pointer;">Click Me!</span>
</div>
<div id="div2" style="width:100%;height:500px;float:right;background-color:#eeffee">2</div>
&#13;
&#13;
&#13;

请讨好片段。

答案 1 :(得分:0)

你只需要一个html链接锚吗?

创建链接<a href="#anyword">Jump to any place</a>

然后,您需要在要跳转到的页面中的目标位置:

<a name="anyword">Jump to this place</a>

答案 2 :(得分:0)

您需要提供类似www.example.com/about.html#our-story

的页面扩展名