У меня есть прокручиваемый список и вы хотите показывать полосу прокрутки только с помощью наведения, но я также хочу иметь возможность прокручивать по первый штрих в списке на мобильных браузерах (iOS, Android) - поведение, подобное списку всегда имеет overflow-y: auto
. Я пытаюсь использовать этот код (http://codepen.io/sergdenisov/pen/RPazyg):Показать полосу прокрутки только на hover
HTML:
<ul class="list js-list">
<li>Test Test Test Test Test Test Test Test Test</li>
...
<li>Test Test Test Test Test Test Test Test Test</li>
</ul>
CSS:
.list {
-webkit-overflow-scrolling: touch;
padding: 0 30px 0 0;
overflow: hidden;
height: 300px;
width: 300px;
background: gray;
list-style: none;
}
.list_scrollable {
overflow-y: auto;
}
Javascript:
$('.js-list').on({
'mouseenter touchstart': function() {
$(this).addClass('list_scrollable');
},
'mouseleave touchend': function() {
$(this).removeClass('list_scrollable');
}
});
Но функция прокрутки в мобильных браузерах активируется только при повторном нажатии на список перед прокруткой. Есть идеи?
попробуйте 'mouseover' вместо' mouseenter' – Vinc199789
Подумайте, почему вы хотите это сделать. Теперь подумайте о многих людях, которые действительно используют полосу прокрутки для прокрутки. Как они будут прокручивать ваш контент, если для них нет полосы прокрутки? –
Помните, что ** ВСЕ ** код презентации (HTML, CSS, JS) являются ** предложениями только **. Браузер или достаточно опытный пользователь могут игнорировать любое ваше форматирование. Как сказал @NiettheDarkAbsol, какое значение это добавляет вашему пользователю? Если вы не можете ответить на этот вопрос, не делайте этого. – BryanH