2015-02-09 81 views
0

我正在嘗試使手風琴面板被點擊並打開時它會移動到頂部,以便用戶不必向下滾動以查看內容。 這是我到目前爲止,但我沒有嘗試似乎工作,當我添加和acitvate功能整個手風琴功能停止工作。任何幫助是極大的讚賞。謝謝。Jquery手風琴面板打開時移動到頂部

$(function() { 

    $(".accordion").accordion({ 
     collapsible: true, 
     active: false, 
     heightStyle: "content", 
     animate: 150, 

      //This makes it possible for multiple panels to be open at the same time 

      beforeActivate: function(event, ui) { 
      // The accordion believes a panel is being opened 
      if (ui.newHeader[0]) { 
       var currHeader = ui.newHeader; 
       var currContent = currHeader.next('.ui-accordion-content'); 
      // The accordion believes a panel is being closed 
      } else { 
       var currHeader = ui.oldHeader; 
       var currContent = currHeader.next('.ui-accordion-content'); 
      } 
      // Since we've changed the default behavior, this detects the actual status 
      var isPanelSelected = currHeader.attr('aria-selected') == 'true'; 

      // Toggle the panel's header 
      currHeader.toggleClass('ui-corner-all',isPanelSelected).toggleClass('accordion-header-active ui-state-active ui-corner-top',!    isPanelSelected).attr('aria-selected',((!isPanelSelected).toString())); 

      // Toggle the panel's icon 
      currHeader.children('.ui-icon').toggleClass('ui-icon-triangle-1-e',isPanelSelected).toggleClass('ui-icon-triangle-1-s',!isPanelSelected); 

      // Toggle the panel's content 
      currContent.toggleClass('accordion-content-active',!isPanelSelected)  
      if (isPanelSelected) { currContent.slideUp(); } else { currContent.slideDown(); } 

      return false; // Cancels the default action 
     } 

}); 

回答

1

這是我能夠做到的,使用多個文章在stackoverflow作爲資源。我想出了一個簡單的javascript函數,它使用jquery animate滾動到頁面上任何元素的頂部。我把它叫做totop():

function totop(element) { 
    offset = element.offset(); 
    $("html").animate({scrollTop:offset.top},500); 
} 

然後在文檔準備函數I定義事件要執行的函數的手風琴一個面板,通過ID一致-1識別的,被點擊時:

$("#accord-1").on("accordionactivate",function(event,ui) { 
    totop(ui.newHeader); 
}); 

這只是我客戶想要的方式。我在多個頁面上使用它。下面是一個簡單的示例頁面:

test accordion

相關問題