Javascript.RU

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

Как сделать замену css свойств?
Друзья, подскажите как сделать замену css свойства в зависимости от прокрутки страницы на определенное кол-во пиксилей? Т.е. нужно что бы когда страница прокрутится вниз на 100px спрятать один элемент (display:none), а когда подняться обратно, что бы все востановилось!
Ответить с цитированием
  #2 (permalink)  
Старый 03.11.2013, 13:15
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

window.onscroll = function() {
   var s = document.documentElement.scrollTop,
       e = document.getElementById('test').style;
  
   if(!this.scrollFlag && s > 100) {
      this.scrollFlag = true;
      e.display = 'none';
   }
   else if(this.scrollFlag && s < 100) {
      this.scrollFlag = false;
      e.display = 'block';
   }
}
Ответить с цитированием
  #3 (permalink)  
Старый 03.11.2013, 19:03
Новичок на форуме
Отправить личное сообщение для Houdy Посмотреть профиль Найти все сообщения от Houdy
 
Регистрация: 03.11.2013
Сообщений: 3

Сообщение от Ruslan_xDD Посмотреть сообщение
window.onscroll = function() {
   var s = document.documentElement.scrollTop,
       e = document.getElementById('test').style;
  
   if(!this.scrollFlag && s > 100) {
      this.scrollFlag = true;
      e.display = 'none';
   }
   else if(this.scrollFlag && s < 100) {
      this.scrollFlag = false;
      e.display = 'block';
   }
}
Ничего не происходит!!! "test" менял на свой идентификатор! Может еще что-нибудь подскажешь?
Ответить с цитированием
  #4 (permalink)  
Старый 03.11.2013, 19:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Houdy
Ничего не происходит!!!
Сообщение от Ruslan_xDD
document.documentElement.scrollTop
смотря какой браузер

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
    #test{
      background-color:  #FF0000;
       height: 50px;
       width:  50px;
       position: relative;
       top: 150px;
    }
  body{
    height: 5000px;
  }

  </style>
  <script>
   window.onscroll = function() {
   var html = document.documentElement, body = document.body,
   s = html.scrollTop || body && body.scrollTop || 0;
   s -= html.clientTop,
   e = document.getElementById('test').style;
   if(!this.scrollFlag && s > 100) {
      this.scrollFlag = true;
      e.display = 'none';
   }
   else if(this.scrollFlag && s < 100) {
      this.scrollFlag = false;
      e.display = 'block';
   }
}
  </script>
</head>

<body>
  <div id="test"></div>
</body>

</html>

Последний раз редактировалось рони, 04.11.2013 в 05:12.
Ответить с цитированием
  #5 (permalink)  
Старый 03.11.2013, 22:32
Новичок на форуме
Отправить личное сообщение для Houdy Посмотреть профиль Найти все сообщения от Houdy
 
Регистрация: 03.11.2013
Сообщений: 3

Сообщение от рони Посмотреть сообщение
смотря какой браузер

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
    #test{
      background-color:  #FF0000;
       height: 50px;
       width:  50px;
       position: relative;
       top: 150px;
    }
  body{
    height: 5000px;
  }

  </style>
  <script>
   window.onscroll = function() {
   var s = document.documentElement.scrollTop||document.body.scrollTop,
       e = document.getElementById('test').style;
   if(!this.scrollFlag && s > 100) {
      this.scrollFlag = true;
      e.display = 'none';
   }
   else if(this.scrollFlag && s < 100) {
      this.scrollFlag = false;
      e.display = 'block';
   }
}
  </script>
</head>

<body>
  <div id="test"></div>
</body>

</html>
все равно ни чего не получается! Браузер chrome и mozila
Ответить с цитированием
  #6 (permalink)  
Старый 03.11.2013, 23:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Houdy,
пример в 4 посте у вас работает?
Ответить с цитированием
  #7 (permalink)  
Старый 04.11.2013, 04:59
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от РОНИ
document.documentElement.scrollTop||document.body. scrollTop
А если document.documentElement.scrollTop - это 0? Будет же ведь тогда присвоено значение document.body.scrollTop, а оно - undefined:
undefined < 100; //false;
undefined > 100; //false;


И тогда никакое условие не сработает

var s = document.body.scrollTop != undefined ? document.body.scrollTop : document.documentElement.scrollTop
Ответить с цитированием
  #8 (permalink)  
Старый 04.11.2013, 05:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Houdy,
Ruslan_xDD,
4 пост исправлен дока по теме тут Размеры и прокрутка для страницы
Ответить с цитированием
  #9 (permalink)  
Старый 04.11.2013, 07:38
Профессор
Отправить личное сообщение для Mukhtar Посмотреть профиль Найти все сообщения от Mukhtar
 
Регистрация: 08.10.2010
Сообщений: 201

jQuery можно
$('#some_id').hide();
$('#some_id').show();
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать ссылки из файла CSS корректными для всех директрорий сайта? GrEb (X)HTML/CSS 7 28.01.2020 12:56
filter(this,this) как правильно сделать? Smip jQuery 5 23.02.2013 03:07
Как сделать, чтобы при наведении на кнопку справа от нее появлялись текстовые ссылки? Tass Общие вопросы Javascript 7 17.02.2011 09:06
Как сделать? При выходе мышкой за пределы окна браузера, начинает грузится другая стр alb Events/DOM/Window 13 01.09.2010 12:19
Подскажите как сделать меню на CSS если: greatilya (X)HTML/CSS 10 18.10.2009 20:26