問題在於,每次激活選項卡時,光標都跳轉到頁面的頂部,因爲選項卡鏈接指向一個div,並且頁面向上滾動到div的頂部。如果用戶在閱讀標籤內容時向下滾動了一下,這會產生跳躍效果。jquery選項卡問題
反正有防止這種情況嗎?
問題在於,每次激活選項卡時,光標都跳轉到頁面的頂部,因爲選項卡鏈接指向一個div,並且頁面向上滾動到div的頂部。如果用戶在閱讀標籤內容時向下滾動了一下,這會產生跳躍效果。jquery選項卡問題
反正有防止這種情況嗎?
更新以符合發佈的代碼!
$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>
還有其他錯誤,因爲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; }
});
回覆:關於刪除井號或命名錨的其他意見: - - 這是jQuery UI標籤如何工作。 a元素的href值用於指定將被選擇的DIV的id。在內部,鏈接返回false,因此它實際上並不會觸發錨點。 ** badnaam,當你選擇標籤時,你是否發現有任何javascript錯誤? Firefox可以從工具菜單中選擇錯誤控制檯並查看生成的錯誤。 – 2010-05-22 21:14:58
好的,我試過了,我不知道發生了什麼,但現在標籤都搞砸了,看起來好像,我甚至不能點擊標籤-2,標籤-2的內容默認顯示。 http://pastie.org/972703 – badnaam 2010-05-22 21:23:54
我沒有看到任何javascript錯誤 – badnaam 2010-05-22 21:24:19
歡迎SO。你能顯示一些代碼嗎? – 2010-05-22 19:30:58