Я хочу добавить класс .custom-menu-bg
в липкое меню .custom-menu
на прокрутке, имея overflow: hidden
на теле. Вот мой код:Переключить класс липкого меню на прокрутку с переполнением, скрытым на странице
<script type="text/javascript" src="css/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
var _rys = jQuery.noConflict();
_rys("document").ready(function() {
_rys(window).scroll(function() {
if (_rys(this).scrollTop() > 1) {
_rys('.custom-menu').addClass("custom-menu-bg");
} else {
_rys('.custom-menu').removeClass("custom-menu-bg");
}
});
});
</script>
Но этот код не работает с overflow: hidden
на body
теге поэтому я попытался:
$('html').on('DOMMouseScroll', function(e) {
var delta = e.originalEvent.detail;
if (delta < 0) {
if ($('body').hasClass('section-element-1'))
$('.custom-menu').addClass("custom-menu-bg");
} else if (delta > 0) {
$('.custom-menu').removeClass("custom-menu-bg");
}
});
Но этот код работает только для Mozilla, и это не является решением проблемы, даже, это просто временное исправление или обход.
Что я хочу, когда прокручиваю вниз $('.custom-menu').addClass("custom-menu-bg");
i.e. custom-menu-bg
класс добавляется к custom-menu
.
И при прокрутке вверх $('.custom-menu').removeClass("custom-menu-bg");
i.e. custom-menu-bg
класс удаляется с custom-menu
.
Верх body
, document
, window
и так далее всегда есть 0
. И верхняя часть моего div
с классом custom-menu
также имеет top: 0
всегда.
Я ищу постоянное решение, которое работает во всех браузерах.
как вы могли прокручивать, когда ваше тело {overflow: hidden; } '?? Подумайте о создании [** Минимального, полного и проверенного примера **) (http://stackoverflow.com/help/mcve), это поможет вам и другим пользователям, чтобы предоставить вам лучшее решение. – vivekkupadhyay
@vivekkupadhyay обратитесь http://stackoverflow.com/questions/19466750/scrolling-element-without-scrollbar-with-css –
это может помочь вам http://stackoverflow.com/questions/26500923/html-how-can- i-stick-my-navbar-after-reach-a-specific-section-on-page –