首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery Autoscroll

Jquery Autoscroll
EN

Stack Overflow用户
提问于 2017-05-06 11:07:50
回答 2查看 51关注 0票数 0

我有一个下拉菜单,其中包含多个列表项,如下所示

代码语言:javascript
复制
<li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">About Us <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a href="about_us.html" id="headbutton1">Heading1</a></li>
                            <li><a href="about_us.html" id="headbutton2">Heading2</a></li>
                            <li><a href="about_us.html" id="headbutton3">Heading3</a></li>
                        </ul>
                    </li>

在about_us.html文件中,我有以下这些

代码语言:javascript
复制
 <div class="row">
        <div class="col-md-12">
            <h2 class="text-center" id="headbutton1">Heading 1</h2>
            <p>Test 1.</p>
        </div>
    </div>
    <div class="row">
        <div class="col-md-12">
            <h2 class="text-center" id="headbutton2">Heading 2</h2>
            <p>Test 2.</p>
        </div>
    </div>
    <div class="row">
        <div class="col-md-12">
            <h2 class="text-center" id="headbutton3">Heading 1</h2>
            <p>Test 3.</p>
        </div>
    </div>

因此,当我单击菜单中的列表项(比如id=‘load 2’)时,我需要加载加载了相应部分(即id=‘headbutton2 2’)的about us页面。我使用以下jquery

代码语言:javascript
复制
$(document).ready(function () {

    var scrollPoint = $('#headbutton2').offset().top - 120;

        $('html, body').animate({
        scrollTop: scrollPoint
    }, 'slow');


});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-06 11:24:18

如果您只想转到页面的相关部分,可以将trget添加到您的链接中,如下所示:

代码语言:javascript
复制
<ul class="dropdown-menu">
  <li><a href="about_us.html#headbutton1">Heading1</a></li>
  <li><a href="about_us.html#headbutton2">Heading2</a></li>
  <li><a href="about_us.html#headbutton3">Heading3</a></li>
</ul>

不需要滚动jQuery,因为该链接将直接将您发送到该部分。

如果您想首先在about_us页面上登陆,然后滚动到相关的部分,则会涉及到更多的内容,因此可以使用查询字符串。

代码语言:javascript
复制
<ul class="dropdown-menu">
  <li><a href="about_us.html?target=headbutton1">Heading1</a></li>
  <li><a href="about_us.html?target=headbutton2">Heading2</a></li>
  <li><a href="about_us.html?target=headbutton3">Heading3</a></li>
</ul>

这个jQuery:

代码语言:javascript
复制
$(document).ready(function () {

var q = document.URL.split('?')[1];
var target = q.split('=')[0] === 'target' ? '#' + q.split('=')[1] : '#';

    var scrollPoint = $(target).offset().top - 120;

        $('html, body').animate({
        scrollTop: scrollPoint
    }, 'slow');

});

注意:这段代码将适用于每一页,如果您希望查询字符串包含其他信息,则需要对其进行更改,但是如果您只是使用静态页面,则应该可以正常工作。

票数 0
EN

Stack Overflow用户

发布于 2017-05-06 11:50:57

您可以滚动到以下特定的div:

代码语言:javascript
复制
   var scrollPoint = $("#myDiv").offset().top;
    $('html, body').animate({
        scrollTop: scrollPoint 
    }, 2000);

小提琴密码

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43819710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档