Synchronisé de défilement à l'aide de jQuery?

Je suis en train de mettre en œuvre synchronisée de défilement pour deux DIV avec le code suivant.

DÉMO

$(document).ready(function() {
    $("#div1").scroll(function () { 
        $("#div2").scrollTop($("#div1").scrollTop());
    });
    $("#div2").scroll(function () { 
        $("#div1").scrollTop($("#div2").scrollTop());
    });
});

#div1 et #div2 est d'avoir le même contenu, mais de tailles différentes, dire

#div1 {
 height : 800px;
 width: 600px;
}
#div1 {
 height : 400px;
 width: 200px;
}

Avec ce code, je suis confronté à deux problèmes.

1) le Défilement n'est pas bien synchronisés, depuis les divs sont de tailles différentes. Je sais, c'est parce que, je suis directement réglage de la scrollTop valeur. J'ai besoin de trouver le pourcentage de défilement du contenu et de calculer correspondant scrollTop valeur pour les autres div. Je ne suis pas sûr, comment trouver la hauteur et la position de défilement actuelle.

2) Cette question n'est trouvé dans firefox. Dans firefox, le défilement n'est pas lisse comme dans d'autres navigateurs. Je crois que c'est parce que le code ci-dessus est de créer une boucle infinie d'événements de défilement.
Je ne suis pas sûr, pourquoi cela n'arrive qu'avec firefox. Est-il possible de trouver la source de l'événement scroll, afin que je puisse résoudre ce problème.

Toute aide serait grandement appréciée.

InformationsquelleAutor Nauphal | 2013-09-23