页面加载时使用hash链接切换元素不起作用



我是javascript的新手,在按钮上使用jQuery切换效果来打开和关闭以下div

<article id="book-section">
<h3>The new collection</h3>
<a class="btn" href="#book-list-one">Book list</a>
<div>
<ul>
   <li>Book one</li>
   <li>Book two</li>
   <li>Book three</li>
   <li>Book four</li>
</ul>
</div>
</article>

这是我的javascript

$(document).ready(function() {
$(".btn").click(toggle);
function toggle() {
    {
        $(this).toggleClass("open").next().slideToggle();
        return false;
    };
    $("a[href='" + window.location.hash + "']").parent(".btn").click();
}
});

当用户键入index.html#book-listone时,它应该打开包含图书列表的div,但它没有。切换效果很好。我不知道问题出在哪里。如果有任何帮助,我们将不胜感激!!!提前感谢!

更新:这是JSfiddle

您在函数上的右括号设置不正确

$(document).ready(function() {
  $(".btn").click(toggle);
  function toggle() { 
    $(this).toggleClass("open").next().slideToggle();
    return false;
  }
  // and seems like the a tag in html snippet posted
  // doesn't have parent with the class name `.btn`,
  // $("a[href='" + window.location.hash + "']").parent(".btn").click();
  // instead try access it directly
  $("a[href='" + window.location.hash + "']").click();
});

相关内容

  • 没有找到相关文章

最新更新