2012-12-07 44 views
1

我引用的頁面是在這裏:如何使頁面在擴展器框關閉後跳轉到開頭部分?

http://jjnursingnotes.com/NOV12/

JQuery的頁面位於:

http://jjnursingnotes.com/NOV12/jquery.expander.js

後單擊 「更多」,我想發生這樣的爲頁跳轉到標題(< h1 >)或div層的開始(< div class =「展開nder「id =」sect ##「>),然後點擊」Read Less「。目前,出現了「閱讀都不能少」按鈕的代碼如下:

 if (o.userCollapse && !$this.find(o.lessSelector).length) { 
     $this 
     .find(detailSelector) 
     .append('<br><br><span class="' + o.lessClass + '">' + o.userCollapsePrefix + '<a href="#">' + o.userCollapseText + '</a></span><br><br>'); 
     } 

我的標題都有前(001,002等)直接分配名字,我的猜測是簡單地添加#001, #002等鏈接到JQ代碼中的鏈接。問題在於該腳本定義了頁面上的每個「Read Less」按鈕,因此每個按鈕的變量都需要不同。我在正確的軌道上,還是有一個更有效的方式來做到這一點?

預先感謝您。我明顯是JS和JQuery的所有東西的新手!

回答

1
$('.expander .read-more').click(function(e){ 
$('html,body').animate({ scrollTop: $(e.target).closest('.expander').offset().top}, "slow"); 
}) 

有你的方式去:)

+0

,你並不需要「一個名字」對於這一點,希望大家喜歡動畫 – w3jimmy

+0

謝謝! 「read-more」需要更改爲「read-less」,否則這就是我尋找的解決方案。然而,一個小問題是,點擊「少閱讀」並且動畫發生後,該頁面不會讓您再滾動一兩秒鐘。這可能會發生什麼原因? –

+0

沒關係 - 我想通了。用('html:not(:animated),body:not(:animated)'替換('html,body')。非常感謝! –

0

而不是<a href="#">爲什麼不只是使用<a href="#sect##">。那麼「讀少」將沒有任何JS

工作
相關問題