2010-11-11 99 views
1

我寫手風琴腳本部署在手機網站,每一件事情都很好。但是,當頁面長度增加時,我正面臨一個問題。問題與手風琴jquery腳本

手風琴約有8至10個酒吧。當我向下滾動並單擊任何項​​目欄以顯示內容時,頁面將移動到頂部,而不是停留在已點擊的當前位置。

請給我解決方案。

下面

是腳本

$( 'acc_container。')隱藏()。 $('。acc_container1')。hide(); 。

$( 'acc_trigger ')點擊(函數(){$ (本).siblings()效果基本show( '快')' acc_container1。'; $ (本).parent()兄弟姐妹。 ('div')。children('。acc_container1')。slideUp('fast'); $(this).parent()。siblings('div')。children('。acc_container')。slideUp('fast '); $(this).next()。siblings('。acc_container')。slideDown('fast'); });

+0

是您點擊A HREF,請發佈的代碼,如果是HREF你有以防止默認.... – kobe 2010-11-11 04:22:37

回答

1

在每個手風琴的trigge的顯示內容的rs,我假設它是錨標記,您需要防止事件的默認行爲。在錨標籤的情況下,您也需要標籤的href屬性。如果href屬性設置爲#,則單擊錨標籤會將您帶到頁面的頂部。所以,這樣的事情應該工作,呼籲preventDefault()對jQuery的event對象,假設.acc_trigger是所有的手風琴的選擇觸發:

$(".acc_trigger").click(function(e) { 
    $(this).siblings('.acc_container1').slideUp('fast'); 
    $(this).parent().siblings('div').children('.acc_container1').slideUp('fast'); 
    $(this).parent().siblings('div').children('.acc_container').slideUp('fast'); 
    $(this).next().siblings('.acc_container').slideDown('fast'); 
    e.preventDefault(); 
}); 
1

我假設你的點擊可能A HREF點擊若有

$("a").click(function(event) { 
// do all your logic here and add the below link 

event.preventDefault(); 

}); 

如果沒有HREF

給你.acc_container類設定高度,你需要像500像素左右,並且

height:600px; 
overflow: hidden; 

這應該採取carek