Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Отсутствует вертикальный скроллбар
цитата
02/10/11 в 23:40
 alex.raven
Уже всю голову себе сломал. Вот здесь: http://www.hustler.com/niches/amateur.html?w=&cs=&cp=_newstatic отсутствует вертикальный скроллбар, причём во всех браузерах. Второй день пытаюсь это пофиксить и вообще никак. Сначала грешил на position:absolute, но видно, дело не в них. Кто-то может что-то подсказать? Всем рейтинг.
цитата
02/10/11 в 23:59
 awa
      <script type="text/javascript">
/*      $(document).ready(function()
      {
       scrollToTop = function(pixels) {
         $('body, html').animate({scrollTop:pixels}, 'slow');
      }
      
      });
*/      </script>

методом тыка
цитата
03/10/11 в 00:04
 alex.raven
awa писал:

      <script type="text/javascript">
/*      $(document).ready(function()
      {
       scrollToTop = function(pixels) {
         $('body, html').animate({scrollTop:pixels}, 'slow');
      }
      
      });
*/      </script>

методом тыка


неа, не оно icon_sad.gif это css
цитата
03/10/11 в 00:07
 awa
я убираю этот код и у меня появляется вертикальный скролл на странице, я вставляю его обратно - вертикальный скролл исчезает. возможно я не так понял первый пост.
цитата
03/10/11 в 10:00
 aewm
Во время прогрузки страницы скрол есть, потом видимо грузится какой-то скрипт который блокирует скрол. Что-то мне подсказывает что это плеер.
цитата
03/10/11 в 10:36
 awa
alex.raven писал:
неа, не оно :( это css


кстати да, отключи поддержку джаваскриптов в браузере, будет явно видно, что это не css
цитата
03/10/11 в 11:12
 freeek
Да интересная фича, надо прошарить. Скрол по идее можно скрыть, с этим проблем нет. Может там обработчик на скрол мышью, который рассчитывает насколько нужно сдвинуться вверх или вниз?
цитата
03/10/11 в 11:37
 awa
добавлю, внизу там в связке со скриптом из второго поста

<script type="text/javascript">var w = parseInt("");var cs = parseInt("");/*if(readCookie('alreadyVisited')){setTimeout("scrollToTop(137)", 2000);}*/</script>

вот, если ничего не путаю, они и портачат скролл
цитата
03/10/11 в 15:01
 freeek
awa писал:
      <script type="text/javascript">
/*      $(document).ready(function()
      {
       scrollToTop = function(pixels) {
         $('body, html').animate({scrollTop:pixels}, 'slow');
      }
      
      });
*/      </script>

методом тыка


так а код закоментирован)
цитата
03/10/11 в 16:07
 awa
freeek писал:
так а код закоментирован)


уже закоментирован :)

а внизу ещё один, который судя по всему кукой прописывается, либо от куки зависит, потому как локально достаточно убрать только верхний код, что бы вернуть скролл :)
цитата
03/10/11 в 16:11
 freeek
Короче вот, а то я что то не нашел где там привязка к скролу
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="content-type" content="text/html; charset=us-ascii" />

    <title>Open Server</title>
    <style type="text/css">
/*<![CDATA[*/
    body{
    overflow: hidden;
    }
    div{
    height: 2000px;
    border: 1px;
    }
    p{margin-bottom: 600px;}
    p#top{
    background:red;
    }
    p#middle{
    background: blue;
    }
    p#bottom{
    background: green;
    }
    /*]]>*/
    </style>
</head>

<body>
    <script type="text/javascript">
//<![CDATA[

    (function (window) {
        try {
            if (!(-[1,])) {
                document.body.scroll = "no";
            }
            var start = 0;

            function scrollHandler(e) {
                e = e || window.event;
                [function () {
                    start -= 120;
                    self.scrollTo(0, start < 0 ? 0 : start);
                },function () {
                    start += 120;
                    self.scrollTo(0, start);
                }][(e.wheelDelta / -120 || e.detail / 3) > 0 ? 1 : 0]();
            }
            typeof window.opera === "object" || (typeof window.addEventListener === "function" && window.addEventListener("DOMMouseScroll", scrollHandler, !1) || (document.onmousewheel = scrollHandler));
        } catch (e) {
            alert(e.message)
        }
    })(self);
    //]]>
    </script>

    <div>
        <p id="top">Top</p>
        <br />

        <p id="middle">Middle</p>
        <br />

        <p id="bottom">Bottom</p>
        <br />
    </div>
</body>
</html>
цитата
03/10/11 в 16:35
 awa
freeek, задача вернуть скролл, а не скрыть его
цитата
03/10/11 в 16:41
 freeek


ааа icon_lol.gif

сори невнимательно прочитал
цитата
03/10/11 в 16:52
 freeek
надо в скриптах смотреть
http://static.hustler.com/warningPage.js

здесь работа с css "overflow-y"

в функции overlay
может она где то используется некорректно, смотреть надо
цитата
03/10/11 в 18:48
 alex.raven
по крайней мере нашёл, где баг: что-то на странице конфликтует с jquery. вот закомментил эту строку:

Код:

<!--
      <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
-->


и скроллбар появился (причём остальной яваскрипт тут ни при чём, пропадает только если инклюдить jquery). теперь осталось пофиксить плеер, чтоб работал с jquery. или найти, что и где конфликтует.
цитата
03/10/11 в 18:54
 freeek
alex.raven писал:
по крайней мере нашёл, где баг: что-то на странице конфликтует с jquery. вот закомментил эту строку:

Код:

<!--
      <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
-->


и скроллбар появился (причём остальной яваскрипт тут ни при чём, пропадает только если инклюдить jquery). теперь осталось пофиксить плеер, чтоб работал с jquery. или найти, что и где конфликтует.


мне смущает что несколько раз идет инициализация через .ready

внизу страницы тоже, хотя в этом нет необходимости
хотя как правило это делают единожды
цитата
03/10/11 в 19:08
 awa
Странно, что моя схема возвращала сайдбар, но я далёк от джаваскриптов, возможно мой метод исключения как-то криво сработал.
цитата
03/10/11 в 20:34
 shar
В файле warningPage.js если нет куки alreadyVisited, то функция overlay скрывает скроллбары (и видимо должна показывать предупреждение о порносайте).
цитата
03/10/11 в 21:32
 alex.raven
shar писал:

В файле warningPage.js если нет куки alreadyVisited, то функция overlay скрывает скроллбары (и видимо должна показывать предупреждение о порносайте).


абсолютно гениальный ответ smail54.gif
я заблокировал инклюд этого warningPage.js и скроллбары появились, и плеер теперь работает icon_smile.gif осталось пофиксить ворнинг.

http://dev.hustler.com/niches/amateur.html
цитата
03/10/11 в 22:36
 idk2045
офтоп:
если у вас dev.hustler.com незапароленный лежит, как вы гугл баните чтоб он его не индексил?
цитата
03/10/11 в 23:07
 freeek
alex.raven писал:
абсолютно гениальный ответ smail54.gif
я заблокировал инклюд этого warningPage.js и скроллбары появились, и плеер теперь работает icon_smile.gif осталось пофиксить ворнинг.

http://dev.hustler.com/niches/amateur.html


icon_smile.gif а я об этом раньше намекнул, некогда было дальше ковырять

в общем смысле тулбар скрывается css свойством overflow - hidden

в любом случае, хорошо, что разобрались smail54.gif
цитата
04/10/11 в 00:02
 alex.raven
grozny писал:

офтоп:
если у вас dev.hustler.com незапароленный лежит, как вы гугл баните чтоб он его не индексил?


никак-там редирект стоит
цитата
07/10/11 в 04:08
 alex.raven
shar писал:

В файле warningPage.js если нет куки alreadyVisited, то функция overlay скрывает скроллбары (и видимо должна показывать предупреждение о порносайте).


Пофиксено. Проблема была в том, что <div>, в котором должен отображаться warning, не существовал. Поэтому скроллбары скрывались, но warning не мог правильно отобразиться. Всем огромное спасибо за дельные советы и всем по пятёрке icon_smile.gif

Оффтопик: Какой-то рейтингогрызун из новичков, старательно заминусовал все мои ответы smail101.gif


Эта страница в полной версии