0

我正嘗試使用內部鏈接平滑滾動來創建'單頁佈局'。這是代碼:如何轉換「javascript:scrollto('。class');」到外部鏈接(從外部導致網站上的某個.class)?

function scrollto(element) { 
$('html, body').animate({ 
    scrollTop: ($(element).offset().top - 40) 
}, 'slow'); }; 

頁面上有一個固定的標題,因此值爲-40。

該腳本完美地在其實施的網站內正常工作。對於鏈接我用:

<a href="javascript:scrollto('.link1');">Go to Link 1</a> 

...和「標籤」的帶班的div:

<div class="link1"> 
     <h1>This is link no 1</h1> <p>Text</p> 
</div> 

下面是一個例子:EXAMPLE SMOOTH SCROLLING

如何創建一個鏈接置於其他網站,這將導致在我的文檔中指定的DIV?通常情況下,使用錨,這將是:

<a href="example.html#link1">Go to Link 1</a> 

,但我不使用錨,並不能真正與他們有什麼好的經驗,因爲在固定頭的。

有什麼辦法來改變這個內部鏈接

"javascript:scrollto('.link2');" 

,這樣我可以從「外部」鏈接一些div?

非常感謝您的幫助。我一直在使用Google。雖然找不到答案。我不是一個高級的JavaScript用戶,所以請理解。謝謝。

回答

0

UPDATE

,使jQuery的工作後,頁面滿載這是非常重要的:

$(window).bind("load", function() { 
//code here... 
}); 

那麼,到底該腳本應該是這樣的:

$(window).bind("load", function() { 
    window.scrollTo = function (selector) { 
     if (selector === '') { return; } 
     return $('html, body').animate({ 
      scrollTop: $('.' + selector).offset().top - 117 
     }, 'fast'); 
    }; 
    $(document).ready(function() { 
     scrollTo(window.location.hash.replace(/^\#/, '')); 
    }); 
}); 

它解決了我的問題。