2011-12-07 162 views
1

在我的網頁中,我使用中心的垂直手風琴來列出一些內容。當頁面被加載時,手風琴在中間。但是當用戶點擊手風琴選項卡時,整個頁面會向上滾動,使手風琴選項卡位於瀏覽器的頂部。我怎樣才能避免這種反應。我希望用戶不用自動滾動就可以保持頁面部分本身。有沒有解決方法?如何刪除瀏覽器自動滾動到div ID?

當用戶點擊手風琴選項卡時,頁面URL變爲 http://web.com/#tab_1。但是我不能從手風琴中刪除ID,因爲它需要ID才能正常工作。其他解決方案?

+0

使用的preventDefault或單擊處理程序返回FALSE! – adeneo

+0

這是ACCORDION的來源:http://webdevtuts.s3.amazonaws.com/uploads/demo/vertical_accordion/index.html – user632347

+0

爲您的問題添加一些代碼。不要讓其他人在四處尋找,並且GUESS你是如何實現來自示例頁面的代碼的。 –

回答

1

在你的點擊處理程序中,應防止默認操作點擊鏈接(即,滾動到錨)。因爲我有些僞不知道你的手風琴是如何設置的:

$("#accordion a").click(function(e)) { 
    e.preventDefault(); // This prevents the scrolling from occuring 
    $("#accordion").activate($(this).attr('id')); 
}); 
+0

手風琴不使用jquery。它使用css3。這裏是鏈接演示:http://webdevtuts.s3.amazonaws.com/uploads/demo/vertical_accordion/index.html和文檔:http://www.webdevtuts.net/css/create-a-vertical-accordion- slider-using-pure-css3-and-html/ – user632347

+0

那麼爲什麼你使用Java和jQuery標籤來處理你的問題,而不是CSS標籤? – adeneo

+0

爲什麼你不給我們任何代碼在你的問題? – Interrobang

0

onclick使用preventDefault它會解決您的問題

0

我不相信有一個簡單的基於CSS的方法來避免的事實:目標僞選擇自帶的默認瀏覽器的URL片段鏈接行爲,即滾動到所涉及的元素。正如其他人所建議的那樣,你將不得不使用JS來添加它。

0

如果我正確理解你的問題,那就是頁面在點擊次數上達到最高點,我個人總是添加這個來停止自動滾動頁面。

添加腳本

<%--Magic Script that maintains position on partial rendering and click--%> 
<script type="text/javascript"> 
    window.scrollTo = function (x, y) { 
     return true; 
    } 
</script>