Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.12.2014, 15:14
Интересующийся
Отправить личное сообщение для gogogo Посмотреть профиль Найти все сообщения от gogogo
 
Регистрация: 04.05.2014
Сообщений: 13

Исчезаение блока при прокрутке страницы
$(document).ready(function(){
	$("#block").hide();
	$(function () {
		$(window).scroll(function () {
			if ($(this).scrollTop() > 400) {
				$('#block').fadeIn();
			} else {
				$('#block').fadeOut();
			}
		});
	});
});

При прокрутке 400 px страницы появляется блок. Как видоизменить код, чтобы блок исчезал при достижении футера (желательно за 200 px до конца страницы)
Ответить с цитированием
  #2 (permalink)  
Старый 28.12.2014, 15:43
Кандидат Javascript-наук
Отправить личное сообщение для vuler Посмотреть профиль Найти все сообщения от vuler
 
Регистрация: 16.02.2012
Сообщений: 109

В условие запили, что-нибудь подобное.
$(document).height()-window.innerHeight-$(window).scrollTop()>200

Последний раз редактировалось vuler, 28.12.2014 в 15:46.
Ответить с цитированием
  #3 (permalink)  
Старый 28.12.2014, 15:46
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

http://learn.javascript.ru/play/vgLobc

<!DOCTYPE HTML>
<html>
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
    <style type="text/css">
      body, html {
        height: 2000px;
      }
      #block {
        bottom: 20px;
        display: none;
        position: fixed;
        right: 20px;
      }
    </style>
  </head>
  <body>
    <div id="block">BLOCK</div>

    <script type="text/javascript">
      $(function(){
          var block = $('#block'),
              visible;
          $(window).scroll(function() {
              var a = $(this).scrollTop(),
                  b = a > 400 && a < $(document).height() - this.innerHeight - 200;
              if(b && !visible) {
                  block.fadeIn(200);
                  visible = true;
              }
              else if(!b && visible) {
                  block.fadeOut(200);
                  visible = false;
              }
          });
      });
    </script>

  </body>
</html>

Последний раз редактировалось ruslan_mart, 28.12.2014 в 15:49.
Ответить с цитированием
  #4 (permalink)  
Старый 28.12.2014, 16:45
Интересующийся
Отправить личное сообщение для gogogo Посмотреть профиль Найти все сообщения от gogogo
 
Регистрация: 04.05.2014
Сообщений: 13

Благодарю! То, что надо
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение цвета текста при прокрутке страницы Fostik Общие вопросы Javascript 1 25.12.2014 06:00
Как изменить поведение блоков при прокрутке? Szorstki Элементы интерфейса 11 30.11.2014 17:21
Активация нужного таба при переходе с другой страницы vladza Общие вопросы Javascript 4 11.11.2014 10:48
Фиксация div'a вверху страницы при прокрутке razorg1991 Элементы интерфейса 2 30.08.2013 22:13
Как при прокрутке страницы оставлять элемент на месте? FRIE jQuery 1 02.08.2012 20:54