2010-05-22 139 views
0

問題在於,每次激活選項卡時,光標都跳轉到頁面的頂部,因爲選項卡鏈接指向一個div,並且頁面向上滾動到div的頂部。如果用戶在閱讀標籤內容時向下滾動了一下,這會產生跳躍效果。jquery選項卡問題

反正有防止這種情況嗎?

+0

歡迎SO。你能顯示一些代碼嗎? – 2010-05-22 19:30:58

回答

1

更新以符合發佈的代碼!

$j('.null_link').live('click', function(e){ 
e.preventDefault(); 
return false; 
}); 

$('ul.tabs li a').click(function(e) { 
    e.preventDefault(); 
}); 

假設是這樣的:

<ul class="tabs"> 
<li><a href="#" >TAB A</a></li> 
<li><a href="#" >TAB B</a></li> 
<li><a href="#" >TAB C</a></li> 
</ul> 

注:

還可以防止這樣跳躍的效果:

<li><a href="javascript:;" >TAB A</a></li> 
+0

這裏是代碼,問題是一個標籤鏈接到一個錨點 http://pastie.org/972703 – badnaam 2010-05-22 20:27:42

+0

查看更新並讓我知道! – 2010-05-22 20:32:13

+0

感謝您的快速響應,它仍然跳轉。代碼在pastie鏈接處更新 – badnaam 2010-05-22 20:37:55

0

還有其他錯誤,因爲ui選項卡默認情況下不具有該行爲。在這裏實現UI標籤與ui 1.8和jquery 1.4.2除了$('#selector')。tabs();除了它的調用沒有改變。 http://www.horsezone.com.au/index.php?a=28&b=153

當您運行該頁面時,是否收到任何javascript錯誤?我會懷疑有什麼東西正在停止劇本,因此「返回假」到A元素從來不會發生,錨點也會觸發。

這不是標準的jquery-ui選項卡行爲。

在一個側面說明,作爲結合的點擊,這將是「記錄」的方式:

$j("#tabs").tabs(
     { fx: { opacity: 'toggle' }, 
      select: function(e) { e.preventDefault(); return false; } 
    }); 
+0

回覆:關於刪除井號或命名錨的其他意見: - - 這是jQuery UI標籤如何工作。 a元素的href值用於指定將被選擇的DIV的id。在內部,鏈接返回false,因此它實際上並不會觸發錨點。 ** badnaam,當你選擇標籤時,你是否發現有任何javascript錯誤? Firefox可以從工具菜單中選擇錯誤控制檯並查看生成的錯誤。 – 2010-05-22 21:14:58

+0

好的,我試過了,我不知道發生了什麼,但現在標籤都搞砸了,看起來好像,我甚至不能點擊標籤-2,標籤-2的內容默認顯示。 http://pastie.org/972703 – badnaam 2010-05-22 21:23:54

+0

我沒有看到任何javascript錯誤 – badnaam 2010-05-22 21:24:19