我有这个脚本是我希望它为其滚动到的id的15%顶部做出偏移。我尝试了很多东西,所以我有点好奇你们会采取什么方法。由于我自己的所有尝试都失败了,我已经把它剥离了。希望有人可以帮助我。
$('a[href*=#]').bind('click', function (e) {
e.preventDefault();
var target = $(this).attr("href");
$('html, body').stop().animate({ scrollTop: $(target).offset().top }, 800, function () {
location.hash = target;
});
return false;
});
我在这里做了一个小提琴:http://jsfiddle.net/77rFz/
答案 0 :(得分:0)
尝试这样的事情
Math.round(parseInt($(target).offset().top) * 0.15)
答案 1 :(得分:0)
我没有尝试过,但我会说这样的事情可行:
$('a[href*=#]').bind('click', function (e) {
e.preventDefault();
var target = $(this).attr("href");
var offset = $(target).offset().top - $(target).height * 0.15;
$('html, body').stop().animate({ scrollTop: offset }, 800, function () {
location.hash = target;
});
return false;
});
答案 2 :(得分:0)
这很有效!
$('a[href*=#]').bind('click', function (e) {
e.preventDefault();
var target = $(this).attr("href");
var parentDiv = $(this).parent(".wrap1");
var offset = Math.round(parseInt($(target).offset().top) - (0.15 * parentDiv.height()));
$('html, body').stop().animate({ scrollTop: offset }, 800, function () {
//location.hash = target;
});
return false;
});