ScrollTop realmente espasmódico no Chrome

Eu estou usando a função scrollTop para criar um site de rolagem paralaxe, ligando a função scrollTop para diferentes âncoras em todo o meu site.

O problema que estou tendo é que a rolagem se torna realmente instável / irregular no Chrome, mas de alguma forma é bom no Firefox.

Meu código é o seguinte:

 $('.recipes').click(function(){
 $('html,body').animate({
 scrollTop: $(".main1").offset().top
 }, 1500);
 });

 $('.cooking').click(function(){
 $('html,body').animate({
 scrollTop: $(".main2").offset().top
 }, 1500);
 });

Existe possivelmente uma maneira alternativa de fazer isso para que o rolo do site não seja tão irregular? talvez uma função de atenuação eu posso adicionar?

EDITAR-

Se eu remover a seguinte função, a irregularidade parece desaparecer, há algo errado com o código ou possivelmente uma maneira diferente de escrevê-lo?

var startY = $('#container').position().top + $('#container').outerHeight();

$(window).scroll(function(){
checkY();
});

function checkY(){
if( $(window).scrollTop() > startY ){
    $('#backToTop, #navigation').fadeIn(600);
}else{
    $('#backToTop, #navigation').fadeOut(600);
}
}

checkY();

SEGUNDA EDIT

$(document).ready(function(){

$('.recipes').click(function(){
    $.scrollTo('.main1', 1500)
 });

$('.cooking').click(function(){
    $.scrollTo('.main2', 1500)
});

$(function () {
    $(window).scroll(function () {
        if ($(this).scrollTop() > 600) {
            $('#backToTop, #navigation').show();
        } else {
            $('#backToTop, #navigation').hide();
        }
    });
    }); 

});

questionAnswers(2)

yourAnswerToTheQuestion