2013-08-16 2 views
4

Я использую приведенный ниже код JavaScript, чтобы создать эффект прокрутки от моего навигатора до привязки.Прокрутите до 100px над привязкой

Проблема, с которой я столкнулась, заключается в том, что я хочу, чтобы прокрутка останавливалась на 100 пикселей выше якоря.

Что мне нужно изменить в этом коде для достижения этого результата?

$(document).ready(function() { 
    $('a[href^="#"]').click(function() { 
     var target = $(this.hash); 
     if (target.length == 0) target = $('a[name="' + this.hash.substr(1) + '"]'); 
     if (target.length == 0) target = $('html'); 
     $('html, body').animate({ scrollTop: target.offset().top }, 1000); 
     return false; 
    }); 
}); 

Спасибо

ответ

11

вычитаем 100 пикселей из target.offset(). Топ. например:

$(document).ready(function() { 
    $('a[href^="#"]').click(function() { 
     var target = $(this.hash); 
     if (target.length == 0) target = $('a[name="' + this.hash.substr(1) + '"]'); 
     if (target.length == 0) target = $('html'); 
     $('html, body').animate({ scrollTop: target.offset().top-100 }, 1000); 
     return false; 
    }); 
}); 
+0

Отлично, спасибо! – Wiseguy

Смежные вопросы