Jquery 使用<;选项>;滚动至锚定,然后打开部分

Jquery 使用<;选项>;滚动至锚定,然后打开部分,jquery,Jquery,我正在尝试编写一个下拉列表,以便在单击某些时,页面将使用常规锚/id向下滚动到选项部分。我假设我可以通过调用onchange函数来实现,比如: <select class="jump-select" onchange="scrollTo();"> <option selected="selected">Jump to Section</option> <option value="#general-info">General I

我正在尝试编写一个
下拉列表,以便在单击某些
时,页面将使用常规锚/id向下滚动到选项部分。我假设我可以通过调用onchange函数来实现,比如:

<select class="jump-select" onchange="scrollTo();">
     <option selected="selected">Jump to Section</option>
     <option value="#general-info">General Information</option>
     <option value="#venue-info">Venue Information</option>
     <option value="#deal-info">Deal Information</option>
     <option value="#doc-mgmnt">Document Management</option>
     <option value="#buyer-info">Buyer Information</option>
     <option value="#billing-info">Billing and Additional Information</option>
     <option value="#expenses">Expenses</option>
</select>
非常感谢您的帮助。如果有任何不清楚的地方,请让我知道,我会尽量改写或更好地解释

以下是各节的基本开头。我不会发布全部内容,它们会很长:

        <div class="section" id="expenses">
            <div class="jump">
                <select class="jump-select">
                    <option selected="selected">Jump to Section</option>
                </select>
                <a href="#">Edit</a>
            </div>
            <h2 class="trigger" id="title-expenses"><a href="#">Expenses</a></h2>
            <div class="toggle-container">

跳转到区段

“toggle container”是由

隐藏/显示的div。从
标记的值中删除哈希标记,删除
onchange
属性并将其添加到代码中

$('.jump-select').change(function() {
    var cTarget = $(this).val();
    window.location.hash = cTarget;
});

标记的值中删除散列标记,删除
onchange
属性并将其添加到代码中

$('.jump-select').change(function() {
    var cTarget = $(this).val();
    window.location.hash = cTarget;
});

您可以添加一个
change
处理程序来执行此处的工作,使用值中已有的选择器:

$(".jump-select").change(function() {
  var val = $(this).val();
  $(val + ":hidden").slideDown("slow").prev().addClass("active");
  window.location.hash = val;
});
这是因为如果它已经扩展了,就没有理由去处理它()


如果你想让它有一点天赋,你可以将动画设置到该部分,而不是跳到那里,如下所示:

$(".jump-select").change(function() {
  var val = $(this).val();
  $(val + ":hidden").slideDown("slow").prev().addClass("active");
  $("html, body").animate({ scrollTop: $(val).scrollTop() }, 200);
});

如果您不希望它正好位于顶部,您可以减去一些金额;如果您希望
位于窗口的最顶部,包括在滚动视图中,您可以使用
更改
处理程序来执行此操作,使用值中已有的选择器:

$(".jump-select").change(function() {
  var val = $(this).val();
  $(val + ":hidden").slideDown("slow").prev().addClass("active");
  window.location.hash = val;
});
这是因为如果它已经扩展了,就没有理由去处理它()


如果你想让它有一点天赋,你可以将动画设置到该部分,而不是跳到那里,如下所示:

$(".jump-select").change(function() {
  var val = $(this).val();
  $(val + ":hidden").slideDown("slow").prev().addClass("active");
  $("html, body").animate({ scrollTop: $(val).scrollTop() }, 200);
});

如果你不希望它精确地位于顶部,你可以减去一些金额,或者如果你希望
位于窗口的最顶部,包括在滚动视图中,可以使用
$(val).prev().scrollTop()

好吧,不知道你的html页面的结构,我想在这里猜一下

尝试在javascript部分中添加此选项

        $('.jump-select').change(function() {
                    var a = $(this).val();
        $(a).find('h2.trigger').click();
                    window.location.hash = a;
    });

在不知道html页面结构的情况下,我会在这里猜测

尝试在javascript部分中添加此选项

        $('.jump-select').change(function() {
                    var a = $(this).val();
        $(a).find('h2.trigger').click();
                    window.location.hash = a;
    });

你能为一个部分显示一些html吗?你能为一个部分显示一些html吗。。。那么隐藏部分呢?主要问题是使用
来更改哈希值。该区域的开放取决于该区域的结构。他给出了
相关向下滑动的示例代码,下一项是目标;但不知道这和锚有什么关系。锚定位于
上方、内部等。锚定运行的是
name
属性,而不是ID,因此必须使用
a[name=…]
作为目标,除非ID设置相同。锚定将位于其上。。。不确定这是否有帮助。如果您需要更多信息,请告诉我。@jnarciso我想您是指其中的内容吧<代码>一般信息
?是的,这就是我的意思。这个例子和上面的例子都可以跳转到各个部分。如果我们能让它向下滚动,然后打开这些部分,我就可以做生意了!是 啊那么隐藏部分呢?主要问题是使用
来更改哈希值。该区域的开放取决于该区域的结构。他给出了
相关向下滑动的示例代码,下一项是目标;但不知道这和锚有什么关系。锚定位于
上方、内部等。锚定运行的是
name
属性,而不是ID,因此必须使用
a[name=…]
作为目标,除非ID设置相同。锚定将位于其上。。。不确定这是否有帮助。如果您需要更多信息,请告诉我。@jnarciso我想您是指其中的内容吧<代码>一般信息
?是的,这就是我的意思。这个例子和上面的例子都可以跳转到各个部分。如果我们能让它向下滚动,然后打开这些部分,我就可以做生意了!这似乎是我想要实现的,但我无法实现。不幸的是,我不是100%确定为什么。@ JNCISISO试着把Nick’放在中间行的VAL前面:<代码> $('''''+'Val+:“隐藏”)…< /Cord> @ jncISOIS-你有一个示例页面吗?这个信息有点敏感,我不想在这里发布dev链接。让我知道,我会尽快寄过来的。谢谢你的帮助。这似乎是我想要实现的,但我无法实现。不幸的是,我不是100%确定为什么。@ JNCISISO试着把Nick’放在中间行的VAL前面:<代码> $('''''+'Val+:“隐藏”)…< /Cord> @ jncISOIS-你有一个示例页面吗?这个信息有点敏感,我不想在这里发布dev链接。让我知道,我会尽快寄过来的。谢谢你的帮助。