0

http://jsbin.com/ifutav/2/edit

http://balupton.github.com/jquery-scrollto/demo/を使用して、相対的なナビゲーションリンクを自動的にスクロールしたいと思います。以下のコードで、これは私が得ているエラーです:Uncaught Error: Syntax error, unrecognized expression: #/article/これは明らかにスラッシュ(ajaxプラグインからの必須の名前空間です)によって引き起こされ、それらを削除するとエラーは消えますが、それでも機能しません:http:// jsbin.com/ifutav/3/editですが、e.preventDefault()そうです。したがって、明らかに2つのエラーがここで発生しています。

  1. hrefjQueryは値が好きではありません
  2. scrollToが正しく機能していません

HTML:リンク

<nav id="nav">
  <ul>
    <li><a href="#/item-1/">Item 1</a></li>
    <li><a href="#/item-2/">Item 2</a></li>
    <li><a href="#/item-3/">Item 3</a></li>
    <li><a href="#/item-4/">Item 4</a></li>
  </ul>
</nav>

HTML:要素

<section id="/item-1/"></section>
<section id="/item-2/"></section>
<section id="/item-3/"></section>
<section id="/item-4/"></section>

Javascript

$('nav ul li a[href^="#"]').each(function() {

  // store values so it doesn't have to execute onclick
  var $this = $(this),
      value = $this.attr('href'),
      element = $(value);

  $this.click(function(e) {

    // prevent default scrolling
    e.preventDefault();

    // scrollTo element
    element.scrollTo();
  });
});

これらの領域の背後にある理由はわかりませんが、何らかのタイプエラーであると思いますか?idk..。

よろしくお願いします。

4

1 に答える 1

0

2つのこと:1)hrefとidからスラッシュを削除します。2)http://balupton.github.com/jquery-scrollto/demo/を使用している場合、メソッドScrollToには大文字のSが必要です。element.ScrollTo();

実例を参照してください:http://jsfiddle.net/dBh3W/

于 2012-11-02T20:53:12.747 に答える