2014-02-26 72 views
1

我正在創建一個選擇菜單,以使我的網站響應。我正在使用平滑滾動(https://github.com/kswedberg/jquery-smooth-scroll)來處理我常規的href #hash鏈接菜單項的滾動,但可以使用一些幫助讓它適用於選擇&選項。jQuery SmoothScroll和Select-Option

這是我的選擇菜單;

<select> 
    <option value=""> </option> 
    <option value="#home" class="smoothscroll">Home</option> 
    <option value="#what-we-do" class="smoothscroll">What we do</option> 
    <option value="#case-studies" class="smoothscroll">Case Studies</option> 
    <option value="#testimonials" class="smoothscroll">Testimonials</option> 
    <option value="#contact" class="smoothscroll">Contact</option> 
</select> 

這裏是我的jQuery代碼;

$('nav select').change(function() { 
    $.smoothScroll({offset: -70, speed: 2000}); 
}); 

因爲它是現在,如果我的頁面上向下滾動,並使用選擇菜單,選擇任何選項,它平滑向後滾動到頁面的頂部 - 不正確的#hash標籤。如果您在頁面頂部選擇一個選項,則不會有任何反應。

您的幫助將不勝感激。謝謝。

+0

你有它的方式,它會滾動到'-70px'起來從哪裏來,無論你選擇什麼 –

回答

0

它在我看來,你實際上並沒有告訴平滑滾動你想去的地方。據the docs你可以簡單地通過使用scrollTarget像這樣(其中$(this).val()是選擇元素的當前值)給函數的目標:

$('nav select').change(function() { 
    $.smoothScroll({ 
     offset: -70, 
     speed: 2000, 
     scrollTarget: $(this).val() 
    }); 
}); 
+0

謝謝!這工作。 –