Показать сообщение отдельно
  #1 (permalink)  
Старый 14.01.2014, 17:10
Новичок на форуме
Отправить личное сообщение для esergion Посмотреть профиль Найти все сообщения от esergion
 
Регистрация: 14.01.2014
Сообщений: 6

Скрыть плавающую ссылку "Наверх" если она ниже статичной [SOLVED]
Доброго времени.
На сайте в футере имеется ссылка "наверх":
$('#toUp').click(function(e) {
        e.preventDefault();
		$('body,html').animate({scrollTop: 0}, 500);
    });

Так как страница получается длинная, захотелось сделать еще плавающуюю ссылку с тем же функционалом. Когда находимся вверху страницы ссылка скрыта, так же хотелось бы ее скрывать если она опускается ниже уже имеющейся статичной ссылки. Взят jQuery-код с просторов интернета и немного доработан. Получилось следующее:
$(function(){
    	$.fn.scrollToTop=function(){
    		$(this).hide().removeAttr("href");
    		var scrollDiv=$(this);
    		var displayed=false;
    		$(window).scroll(function(){
    			if(($(window).scrollTop()=="0") || ($(scrollDiv).offset().top >= $('#toUp').offset().top)){
    				if (displayed==true){
    					$(scrollDiv).fadeOut("slow");
    					displayed=false;
    					console.log("off Плавающая кнопка офсет - " + $(scrollDiv).offset().top + " статика - "+$('#toUp').offset().top);
    				}
    			}else{
    				if (displayed==false){
    					$(scrollDiv).fadeIn("slow");
    					displayed=true;
    					console.log("On Плавающая кнопка офсет - " + $(scrollDiv).offset().top + " статика - "+$('#toUp').offset().top);
    				}
    			}
    		});
    		$(this).click(function(){
    			$("html, body").animate({scrollTop:0},"slow")
    		})
    	}
    });
    $(function() {$("#toUpSide").scrollToTop();});


Беда-печаль заключается в том, что когда плавающая ссылка находится ниже статичной она нормально фэйдАутится, но стоит в этой области поскролить страницу - эта злополучная ссылка начинает мигать (т.е. сначала включается и тут же выключается)..
Могут добры-молодцы воспомочь в такой проблеме?

Последний раз редактировалось esergion, 15.01.2014 в 15:43. Причина: Задача решена
Ответить с цитированием