锚定标签断裂

Anchor Tag broken

本文关键字:标签      更新时间:2023-10-25

有人能解释我的锚标记被破坏的原因吗:http://jsfiddle.net/7k9s1pg7/7/embedded/result/#michaelschumacher

在本例中,页面应向下锚定为"迈克尔·舒马赫"。然而,事实并非如此。为什么会这样?

HTML:

<dl class="accordion">
<dt><a href="" class="container heading">Soccer</a></dt>
<dd id="soccer">
  <div id="manutd">
    <p>Man Utd</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
  </div>  
  <div id="celtic">
    <p>Celtic</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
  </div>
</dd>
<dt><a href="" class="container heading">Formula 1</a></dt>
<dd id="formula1">
  <div id="lewishamilton">
    <p>Lewis Hamilton</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
  </div>  
  <div id="michaelschumacher">
    <p>Michael Schumacher</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
  </div>
</dd>
</dl>

jQuery:

(function($) {
    var allPanels = $('.accordion > dd').hide();
    var allLinks = $('a.heading');
    $('.accordion > dt > a').click(function() {
        allPanels.slideUp();
        allLinks.removeClass('active');
        if ($(this).parent().next().is(":visible")) return false;
        $(this).parent().next().slideDown();
        $(this).addClass('active');
        return false;
    });
    var hash = 'michaelschumacher';
    if (hash) {
        var el = $('#' + hash);
        el.parent().slideDown();
        el.parent().prev().find('a').addClass('active');
    }
})(jQuery);

在结束元素解决问题之前运行此操作。

真的很奇怪它是如何在本地工作的,但不是在WordPress本地-使用完全相同的代码:-O

<script>
    if (location.hash) {
        location.href = location.hash;
    }
</script>