2014-10-17 157 views
0

我有一系列關於剛完成開發的應用程序的章節。我正在使用jQuery的scrollTo插件。對我來說,過去總是很好。ScrollTo()函數無法正常工作

哪些應用程序是假設做的是以下幾點:

  1. 所有部分負荷和第一部分立即展開,一切仍然崩潰(這工作)
  2. 您可以點擊另一部分,當前打開的部分就會崩潰,而你點擊了一個將擴大(這工作)
  3. 擴建完成後,該窗口將滾動到擴展部分的頂部(這不起作用)

我需要第三步的幫助。我的代碼如下。

我已經在scrollTo()插件和ScrollTop的使用上搜索了各種主題。我已經嘗試過,但沒有任何改變。

我想知道是否有事情做與當切換功能的調用,但我「不能確定。

我真的很希望能在這裏找到答案。如果你需要進一步的解釋或代碼請讓我知道!

//module expansion and contraction 
$('.module-heading').click(function(){ 
    var id = $(this).attr('id'); 

    var data = $(this).data('toggle'); 
    $('.app-section').each(function(){ 
     if($(this).is(':visible')){ 
      $(this).toggle('slow'); 
     } 
    }) 
    $(data).toggle('slow', function(){ 
     $(id).scrollTo(100);  
    }); 
}); 

這裏是樣本HTML以及

<div class='row module-heading module-heading-plain' data-toggle='#questionaire'> 
    <div class='form-group'> 
     <div class='col-md-12'> 
      <h4 class='text-info'> 
       Pre-Application Questionaire 
      </h4> 
     </div> 
    </div>     
</div> 
<span id='questionaire'> 
     <!-- form goes here --> 
</span> 

這裏是一個小提琴鏈接http://jsfiddle.net/5q48n0z1/4/

+0

你可以發佈'jsFiddle'向我們展示問題嗎? – melancia 2014-10-17 17:59:50

+1

'$(id)'應該可能是'$(「#」+ id)' – canon 2014-10-17 18:00:12

+0

讓我得到一個小提琴 – 2014-10-17 18:02:01

回答

2

看起來好像你想滾動身體到新的部分。所以,我們需要針對HTML /身體爲了做到這一點(fiddle):

$('.module-heading').click(function(){ 

    var $this = $(this); 

    $('.app-section:visible').hide("slow"); 

    $($this.data('toggle')).show('slow', function(){ 
     $("html,body").animate({ 
      scrollTop: $this.offset().top 
     }); 
    }); 

}); 

注意:您需要有溢出的內容,以滾動體。您可以考慮在身體中添加一些填充。

+0

仍然不能正常工作 – 2014-10-17 18:01:46

+1

最後一些代碼是有道理的。 +1 – melancia 2014-10-17 18:17:42

+0

此版本不適用於實時模型,請耐心等待我試圖獲得此作品 – 2014-10-17 18:18:57