1

我的锚链接应该是动画的,这样它们就不会立即跳转到链接,而是以流畅的方式滚动。这应该在两个方向上都起作用,即当单击包含footnotereversefootnote类的链接时。

结构

HTML

<p>
  Some text.
  <a href="#fn:1" id="fnref:1" title="see footnote" class="footnote">[1]</a>
</p>

<div class="footnotes">
  <ol>
    <li id="fn:1">
      <p>
        A footnote.
        <a href="#fnref:1" title="return to article" class="reversefootnote">&nbsp;?</a>
      </p>
    </li>
  </ol>
</div>

jQuery

$("a[href*='#fn\\:']").click(function(event) {
    event.preventDefault();
    var href = $(this).attr("href");
    var $el = $(href);

    $("html, body").animate({"scrollTop": $el.offset().top}, 500);
});

问题

只有当我在href.

4

1 回答 1

1

您不需要在该模式匹配中转义冒号....

但冒号应该在选择器中转义:

var $el = $(href.replace(':', '\\:'));

并且第一个选择器应该改变:

$("a[href*='#fn\\:']").click(function(event) {...});
于 2012-10-07T16:22:49.007 回答