Как мне переключить отображение полосы прокрутки? - PullRequest
4 голосов
/ 26 августа 2011

Я хотел бы переключить отображение полосы прокрутки на контейнере DIV в зависимости от того, находится ли мышь над контейнером или нет.Таким образом, показывать полосу прокрутки можно только тогда, когда мышь находится над контейнером DIV (и, конечно, DIV переполнен содержимым).

Я попытался изменить переполнение с скрытого на автоматическое и наоборот с помощью CSSнапример, следующее:

div.container {
    overflow: hidden;
}

div.container:hover {
    overflow: auto;
}

Это переключает отображение полосы прокрутки, но когда полоса прокрутки снова отображается, она сбрасывается в верхнюю часть.Мне нужно сохранить положение полосы прокрутки в ее последнем состоянии.

Какой самый простой способ переключить отображение полосы прокрутки?Я пытаюсь остаться с чистым решением CSS, но минимальный JavaScript, вероятно, будет в порядке.

1 Ответ

1 голос
/ 26 августа 2011

Возможно, это ошибка WebKit. Рассмотрите возможность сообщения об этом.

Редактировать: Уже имеется хотя бы один существующий отчет об ошибке .Хотя этот человек несколько нелюбим.


А пока вот глупый обходной путь:

$('.container').hover(function(){
    var scrollTop = $(this).scrollTop();
    $(this).scrollTop(0).scrollTop(scrollTop);
});

См .: http://jsfiddle.net/C5vmK/

Это можно легко написать без jQuery, если вы его еще не используете.

...