Javascript 显示一个隐藏的div,并在单击的同时跳到它

Javascript 显示一个隐藏的div,并在单击的同时跳到它,javascript,jquery,html,hyperlink,anchor,Javascript,Jquery,Html,Hyperlink,Anchor,我目前正在一个网站上工作,该网站有一个隐藏的部分(时间表,价格)。当你点击一个链接按钮时,它应该显示该部分并跳转到它。我只能让一件或另一件事发生。我使用锚标记跳转到div id=“extracontent”,并使用javascript函数隐藏然后显示内容。但如果它是隐藏的,当它被发现时,它只会往下跳一点。如果您再次单击该按钮,它会很好地向下跳。我很确定这是一个时间问题,但由于我是一个完全的新手,当涉及到jquery或javascript时,我不知道如何处理这个问题 您可以在此处查看该网站: 希望

我目前正在一个网站上工作,该网站有一个隐藏的部分(时间表,价格)。当你点击一个链接按钮时,它应该显示该部分并跳转到它。我只能让一件或另一件事发生。我使用锚标记跳转到div id=“extracontent”,并使用javascript函数隐藏然后显示内容。但如果它是隐藏的,当它被发现时,它只会往下跳一点。如果您再次单击该按钮,它会很好地向下跳。我很确定这是一个时间问题,但由于我是一个完全的新手,当涉及到jquery或javascript时,我不知道如何处理这个问题

您可以在此处查看该网站:

希望我是清楚的,谢谢你的帮助。

试试这个:

$('#slick-toggle').click(function(e) {
   e.preventDefault();
   $('#extracontent').show(400, function() {
       window.location = $('#slick-toggle').attr('href');
   });       
});

它应该显示内容,然后更改url以包含锚。不过,它还没有经过测试。

在我的脑海里,试试这个:

$('#my-div').show('normal', function() {
        window.location = '#anchor-name';
    });
否则,您也可以通过以下方式使其变得更好:

var pos = $('#my-div').show('normal').offset().top;
$('html, body').animate({ scrollTop: pos + 'px' }, 'normal', 'swing');

您可以简单地将onclick处理程序添加到HTML中的“slick toggle”锚元素中,如下所示:

<a onclick="$('#extracontent').show();" id="slick-toggle" class="schedule" href="#extracontent">Check out our Schedule &amp; Rates</a>


将上述内容粘贴到Chromium的控制台中,然后单击
$(“#slick toggle”)
链接将生成404页面。Chromium 9.0.x/Ubuntu10.10。感谢您指出,我们在回调中使用了$(this),这显然是对新div的引用,而不是链接。现在更新了答案。有问题的页面似乎已经导航到了那个位置,但它并没有真正工作。也许
scrollTop
动画在这里会很有效?我喜欢你的
html,body'
选择器。处理Gecko,IE,以及更重要的out-lier:Webkit。非常感谢,这是我最后使用的解决方案。+1是一个很好的简单解决方案,利用事件传播。@xoam-顺便说一句,你应该接受这个答案,因为你说这是你最终成功使用的解决方案。