Изменение CSS-свойств тела при нажатии на ссылку с определенным классом

0

У меня есть набор лайтбоксов, которые имеют одинаковый класс, но отдельные идентификаторы. Когда вы нажимаете:

<a class="lightbox" href="#lightbox_one">

Я хочу, чтобы Javascript добавлял overflow: hidden; на #page_wrap. Я хочу, чтобы это применимо ко всем <a> с этим классом .lightbox Затем, когда лайтбокс закрыт с помощью <a href="#close"> я хочу, чтобы свойства CSS возвращались обратно в исходное состояние (overflow: scroll;),

Вот мой код.

2 ответа

5
Лучший ответ

вы просто хотите, чтобы страница была внизу, чтобы остановить прокрутку? Просто примените overflow:hidden в body

$(".lightbox").click(function(){
  $("body").css({"overflow":"hidden"});
});

$(".close").click(function(){
  $("body").css({"overflow":"auto"});
});
  • 0
    Это именно то, что я искал! Спасибо, любезно.
2

Некоторые css:

.overflowHidden {
    overflow: hidden;
}
.overflowScroll {
    overflow: scroll;
}

Если вы используете jQuery, вы можете сделать это:

$('#content').on('click', '.lightbox', function() {
    $('#page_wrap').removeClass('overflowScroll').addClass('overflowHidden');
});
$('div[id^=lightbox]').on('click', '.close', function() {
    $('#page_wrap').removeClass('overflowHidden').addClass('overflowScroll');
}
  • 0
    Потрясающие. У @ jmore009 был немного более чистый ответ, но я рад видеть другой метод достижения того же самого желаемого результата. Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню