Ранее я описывал вариант работы одного плавающего блока. Чтобы сделать два взаимно-плавающих блока, можно использовать следующий код:
https://jsfiddle.net/lysenko/APn3d/
Если левый блок выше правого, то плавает правый. Если правый выше - плавает левый. Таким образом, при скроллинге плавает всегда самый маленький из двух.