Javascript.RU

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

не работает в IE
В других браузерах все гуд(появляются стрелочки вверх и вниз), а вот в IE не работает, хотя консоль не выдает ошибок. подскажите где собака зарыта?
Код:
<!DOCTYPE HTML>
<html>

<head>
  <style>
    body,
    html {
      height: 100%;
      width: 100%;
      padding: 0;
      margin: 0;
    }

    #matrix {
      width: 400px;
      margin: auto;
      overflow: auto;
      text-align: justify;
    }

    #updown {
      height: 9px;
      width: 14px;
      color: green;
      position: fixed;
      top: 10px;
      left: 10px;
      cursor: pointer;
    }

    #updown.up::before {
      content: '▲';
    }

    #updown.down::before {
      content: '▼';
    }
  </style>
  <meta charset="utf-8">
</head>

<body>

  <div id="matrix">
    <script>
      for (var i = 0; i < 2000; i++) document.writeln(i)
    </script>
  </div>

  <div id="updown"></div>

  <script>
    var updownElem = document.getElementById('updown');

    var pageYLabel = 0;

    updownElem.onclick = function() {
      var pageY = window.pageYOffset || document.documentElement.scrollTop;

      switch (this.className) {
        case 'up':
          pageYLabel = pageY;
          window.scrollTo(0, 0);
          this.className = 'down';
          break;

        case 'down':
          window.scrollTo(0, pageYLabel);
          this.className = 'up';
      }

    }

    window.onscroll = function() {
      var pageY = window.pageYOffset || document.documentElement.scrollTop;
      var innerHeight = document.documentElement.clientHeight;

      switch (updownElem.className) {
        case '':
          if (pageY > innerHeight) {
            updownElem.className = 'up';
          }
          break;

        case 'up':
          if (pageY < innerHeight) {
            updownElem.className = '';
          }
          break;

        case 'down':
          if (pageY > innerHeight) {
            updownElem.className = 'up';
          }
          break;

      }
    }
  </script>
</body>

</html>
Ответить с цитированием
  #2 (permalink)  
Старый 21.08.2015, 11:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

galych,
версия ie?
Ответить с цитированием
  #3 (permalink)  
Старый 21.08.2015, 15:46
Новичок на форуме
Отправить личное сообщение для galych Посмотреть профиль Найти все сообщения от galych
 
Регистрация: 21.08.2015
Сообщений: 5

пробовал 8 и 11

Главное в песочнице отрабатывает

Последний раз редактировалось galych, 21.08.2015 в 15:49.
Ответить с цитированием
  #4 (permalink)  
Старый 21.08.2015, 16:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от galych
Главное в песочнице отрабатывает
Может из-за кодировки... В твоем примере она вообще не указана.
Ответить с цитированием
  #5 (permalink)  
Старый 21.08.2015, 16:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Как тут...
<!DOCTYPE HTML>
<html>

<head>
  <style>
    body,
    html {
      height: 100%;
      width: 100%;
      padding: 0;
      margin: 0;
    }

    #matrix {
      width: 400px;
      margin: auto;
      overflow: auto;
      text-align: justify;
    }

    #updown {
      height: 9px;
      width: 14px;
      color: green;
      position: fixed;
      top: 10px;
      left: 10px;
      cursor: pointer;
    }

    #updown.up::before {
      content: '▲';
    }

    #updown.down::before {
      content: '▼';
    }
  </style>
  <meta charset="utf-8">
</head>

<body>

  <div id="matrix">
    <script>
      for (var i = 0; i < 2000; i++) document.writeln(i)
    </script>
  </div>

  <div id="updown"></div>

  <script>
    var updownElem = document.getElementById('updown');

    var pageYLabel = 0;

    updownElem.onclick = function() {
      var pageY = window.pageYOffset || document.documentElement.scrollTop;

      switch (this.className) {
        case 'up':
          pageYLabel = pageY;
          window.scrollTo(0, 0);
          this.className = 'down';
          break;

        case 'down':
          window.scrollTo(0, pageYLabel);
          this.className = 'up';
      }

    }

    window.onscroll = function() {
      var pageY = window.pageYOffset || document.documentElement.scrollTop;
      var innerHeight = document.documentElement.clientHeight;

      switch (updownElem.className) {
        case '':
          if (pageY > innerHeight) {
            updownElem.className = 'up';
          }
          break;

        case 'up':
          if (pageY < innerHeight) {
            updownElem.className = '';
          }
          break;

        case 'down':
          if (pageY > innerHeight) {
            updownElem.className = 'up';
          }
          break;

      }
    }
  </script>
</body>

</html>
Ответить с цитированием
  #6 (permalink)  
Старый 21.08.2015, 16:44
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

В ИЕ9 стрелку вверх видно...
Ответить с цитированием
  #7 (permalink)  
Старый 21.08.2015, 19:39
Новичок на форуме
Отправить личное сообщение для galych Посмотреть профиль Найти все сообщения от galych
 
Регистрация: 21.08.2015
Сообщений: 5

Сообщение от ksa Посмотреть сообщение
Может из-за кодировки... В твоем примере она вообще не указана.
а это что?
Код:
<meta charset="utf-8">
Ответить с цитированием
  #8 (permalink)  
Старый 23.08.2015, 04:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

#updown.up:before {
content: '▲';
}

#updown.down:before {
content: '▼';
}
Ответить с цитированием
  #9 (permalink)  
Старый 23.08.2015, 04:44
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

http://htmlbook.ru/css/before
http://htmlbook.ru/css3/before
Ответить с цитированием
  #10 (permalink)  
Старый 24.08.2015, 04:15
Новичок на форуме
Отправить личное сообщение для galych Посмотреть профиль Найти все сообщения от galych
 
Регистрация: 21.08.2015
Сообщений: 5

Сообщение от laimas Посмотреть сообщение
#updown.up:before {
content: '▲';
}

#updown.down:before {
content: '▼';
}
К сожалению не помогло
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS: работает на сервере, не работает из папки -majestic- Общие вопросы Javascript 2 02.08.2012 14:41
Не работает push! Динамическая вставка TSEH25 ExtJS 5 03.07.2012 13:00
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41
Safari + ajax некорректно работает, а в других работает demi AJAX и COMET 35 15.07.2009 14:11