2012-01-06 62 views
0

我有下面的代碼,當在鏈接中使用時轉到下一個鏈接...所以我基本上用它來做下一個按鈕的功能。顛倒jQuery代碼功能

我需要做的是創建一個反向版本,以便我可以將其用作後退按鈕。

下面是代碼:

<script> 
    $("a.mytrigger").click(function(e){ 
     var index = $(this).attr("href").substr(5); 
     $('#navigation li:nth-child('+parseInt(index)+') a').click(); 
     e.preventDefault(); 
    });       
</script> 

UPDATE:

請參閱下面的更多詳細信息的鏈接:

Javascript JQuery Script click link by code (Sliding Form Script)

+0

parseInt在這裏沒有必要 – 2012-01-06 15:43:44

+0

你可以在裏面放一個'-1'嗎? 'parseInt(index)-1' – vol7ron 2012-01-06 15:44:19

+0

沒有看到伴隨這個的HTML,你能不能只用'(parseInt(index)-1)'點擊上一個鏈接? – 2012-01-06 15:44:44

回答

1

我覺得你的問題可以更容易解決,少用HTML。 看看my fiddle

一點解釋:

  1. 我創建爲onload USIG $(函數())方法的鏈接。我找到了所有的「李」項目,並且我在它們上面添加了「下一個」,「前一個」鏈接。最後,我從第一個項目中刪除「prev」鏈接,從最後一個項目中刪除「next」鏈接。這樣我就不需要自己創建HTML元素。
  2. 我添加的每個鏈接都與類「next」或「prev」一致。
  3. 我「live」綁定(您可能需要使用「on」代替。語法可能會有點不同)

    與「活」的方法,我重視每一個環節上的「click」事件。處理程序根據其之前附加的「下一個」/「prev」類來操作每個鏈接。 對於「下一個」類,我使用JQuery中的「next」函數來獲取下一個「li」元素。 對於「prev」類,我使用JQuery中的「prev」函數獲取前一個「li」元素。

    請注意,在我調用「prev」或「next」函數之前,我確定我引用了包裝鏈接的「li」對象。爲此,我使用$(this)上的「closest('li')」呼叫

    讓我知道是否還有其他需要的東西。