我在我的网站上使用了几个div
的锚点。
当我的网页加载时,我的网址末尾有#
,如下所示:
http://www.website.com/projects#third
我也有一个固定的标题,高度为100px。
我正在使用scrollto插件。
我要做的是,当我的页面加载时,它会滚动到URL的#div
,并且标题高度偏移。
以下是我尝试使用jQuery的内容,但它无效。
$(window).load(function() {
var hashVal = window.location.hash;
var headerheight = $("header").height();
$('body').scrollTo(hashVal, { duration: 'slow', offsetTop: headerheight});
});
无法弄清楚我做错了什么。
答案 0 :(得分:0)
尝试以下方法:
$(document).ready(function(){
$('body').scrollTop($('body').scrollTop() + $("header").height());
});
答案 1 :(得分:0)
以下jsFiddle工作正常:http://jsfiddle.net/gp5kev0k/2/
$(window).load(function(){
var hashVal = "#scrollto";//cannot test this in jsfiddle
var headerheight = $("#header").height();
console.log(hashVal)
console.log(headerheight)
$('body').scrollTo(hashVal,{duration:'slow', offsetTop : headerheight});
});
不同之处在于:
我使用div
和id=header
,可能你也这样做,但是使用$("header").height();
计算<header></header>
的高度(如果你有这样一个元素,那就好了...... )
我将hashval设置为静态字符串,因为window.location.hash
在jsFiddle中不起作用。添加一些console.log
命令以查看这些部分是否适用于您的代码。