2012-11-02 62 views
0

http://jsbin.com/ifutav/2/edit自動jQuery的scrollTo導航

我想用http://balupton.github.com/jquery-scrollto/demo/自動滾動相對導航鏈接。使用下面的代碼,這是我得到的錯誤:Uncaught Error: Syntax error, unrecognized expression: #/article/這顯然是由斜槓(這是ajax插件所需的名稱空間)引起的,當我刪除它們時,錯誤消失但仍然無效:http:/ /jsbin.com/ifutav/3/edit,但e.preventDefault()確實如此。所以,很顯然兩個錯誤都發生在這裏:

  1. jQuery的不喜歡href
  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 ...

提前感謝。

回答

0

兩件事:1)刪除你的href和id的正斜槓。 2)如果你使用http://balupton.github.com/jquery-scrollto/demo/,則該方法ScrollTo需要一個大寫字母S:element.ScrollTo();

見工作示例:http://jsfiddle.net/dBh3W/

+0

感謝,但我仍然需要斜線的,因爲我曾提到的Ajax框架,反正是有他們可以被刪除,然後硬編碼? –

+0

我只是試圖把斜槓放回我的jsfiddle中,它工作正常......所以也許你唯一的問題是小寫ScrollTo。如果您收到其他javascript錯誤,請將其發佈。 – Johann