如何转换“javascript:scrollto('。class');”到外部链接(从外部导致网站上的某个.class)?
问题描述:
我正尝试使用内部链接平滑滚动来创建'单页布局'。这是代码:如何转换“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用户,所以请理解。谢谢。
答
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(/^\#/, ''));
});
});
它解决了我的问题。