У меня есть два небольших скрипта, которые при работе в одиночку не имеют проблем.Конфликт между двумя скриптами для ссылок привязки на странице
Однако, если они появляются вместе в одном документе, они не работают должным образом.
Script # 1: Запуск модального диалогового окна
Все страницы на моем сайте есть ссылки на следующие функции:
- Войти Страница
- Контакт Page
- E- почта Регистрация
Когда пользователь нажимает на одну из этих ссылок, лайтбокс появляется и соответствующие модальные горки в
Чтобы предотвратить страницу от прокрутки в фоновом режиме, когда лайтбокс активен, у меня есть этот скрипт:.
$(document).ready(function(){
$("[href$='#contact'],[href$='#email'],[href$='#login']").click(function(){
$("body").addClass("noscroll");
});
$("a[href$='#close']").click(function(){
$("body").removeClass("noscroll");
});
});
CSS-просто:
.noscroll {
overflow: hidden;
}
Эта функция отлично работает, насколько я могу судить.
Script # 2: Smooth Scrolling
У меня есть несколько веб-страниц с длительным содержанием (например, условия предоставления услуг, Политика конфиденциальности и т.д.)
Для того, чтобы эти страницы более удобной Я добавил оглавление сверху. Каждый элемент в TOC является привязкой, ведущей к соответствующему разделу на странице.
Пример:
ТОС
<ol>
<li><a href="terms-of-service/#copyrights">Copyrights</a></li>
<li><a href="terms-of-service/#trademarks">Trademarks</a></li>
<li><a href="terms-of-service/#indemnification">Indemnification</a></li>
</ol>
Содержимое
<h3 id="trademarks">Trademarks</h3>
<p> text text text </p>
Стандартное поведение для в-странице ссылок является непосредственным переход к содержанию. Для более элегантного опыта я добавил плавный эффект прокрутки:
$('a[href*="\\#"]').on('click', function(event){
event.preventDefault();
$('html,body').animate({scrollTop:$(this.hash).offset().top}, 500);
});
Как и скрипт # 1, это работает отлично.
Однако, когда оба сценария появляются вместе на странице, ничего не работает должным образом.
Ошибок в консоли нет. Основная проблема заключается в том, что модальный скрипт активирует CSS (полоса прокрутки исчезает), но не запускает лайтбокс.
Как обе эти скрипты могут работать вместе?
Все выглядит довольно просто. Элемент может иметь множество прослушивателей событий щелчка, а первый - просто переключает класс. Можете ли вы воспроизвести в демо? – charlietfl
Ничего не показан Лайтбокс или связанные с модами – charlietfl
Запуск с того места, где? И каким механизмом? Это моя точка зрения. Никаких отношений не видно. – charlietfl