Ох и сильно Кунг-Фу ваше явоскриптское в той теме! Долго мне еще рассветы с закатами созерцать, дабы приблизится к такому мастерству.
Вот взял за пример ваш код и немного "приупростил" свое писание, получилось следующее для наглядности:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
footer{
width: 100%;
background-color: gray;
height: 350px;
position:absolute;
top:1250px;
left:0;
}
#toUp {
color: #111;
}
#toUpSide {
position: fixed;
bottom: 30px;
right:30px;
}
body{
height: 1600px;
}
</style>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$('#toUp').click(function(e) {
e.preventDefault();
$('body,html').animate({scrollTop: 0}, 500);
});
$(function(){
$.fn.scrollToTop=function(){
$(this).hide().removeAttr("href");
var scrollDiv=$(this), displayed;
$(window).scroll(function(){
displayed = $(window).scrollTop()>=200 && $(scrollDiv).offset().top<=$('#toUp').offset().top;
if (displayed){
$(scrollDiv).fadeIn("slow");
}else{
$(scrollDiv).fadeOut("slow");
}
});
$(this).click(function(){
$("html, body").animate({scrollTop:0},"slow")
})
}
});
$(function() {$("#toUpSide").scrollToTop();});
</script>
</head>
<body>
<div id="content">Тут контент
</div>
<footer>
<a href="#" id="toUp">Наверх</a>
<a href="#" id="toUpSide">Наверх</a>
</footer>
</body>
</html>
Попробуйте поскролить в тот момент, когда плавающая ссылка опускается ниже статической, будет мигать..
Предполагаю что проблема в логических операторах, видимо не так надобно проверять..