Необходимо разработать скрипт для принятия Anti-Captha на указанном веб-сайте. Подробности по задаче будут предоставлены в личной переписке. Ожидается качественное выполнение с учетом всех требований.
Меню в зависимости от разрешения экрана выполняло свои функции
Прошу помощи специалистов, так как новичок в данном деле.Как сделать чтобы меню в зависимости от разрешения экрана выполняло свои функции?
Выше 768px:
1) Здесь интересует наведение мыши и клик. При наведении мыши или по клику на li.item открывалось его под меню.
2) При клике по li.item идет переход по ссылке, его необходимо отключить, переход по ссылке li должен быть только по подменю ul.subs li.
3) Под меню должно закрываться только при условии, если идет переход мыши или клик на следующее li.item или клик на закрытие окна на cross.
4) Если просто убрать мышь с поля меню, оно закрывается, а должно быть открыто, до тех пор, пока не выполнится условие в пункте 3.
Ниже 768px:
5) Здесь открытие меню должно быть только по клику, а закрытие по клику на крестик cross.
6) При клике по li.item идет переход по ссылке, его необходимо отключить, переход по ссылке li должен быть только по подменю ul.subs li.
PS:
1) По разрешению экрана интересует только метод matchMedia, не resize.
2) Только JavaScript.
3) Сейчас идет конфликт по закрытию меню на cross, потому как функция по click дублируется.
4) Не срабатывает сразу метод matchMedia, только после обновления экрана.
5) Не выполняется пункт 4, так как не знаю куда сувать)) e.preventDefault(), все уже перетыкал))).
6) Пункт 2 и 6 так же не выполняется, идет сразу переход по ссылке.
7) Если данный код еще можно уменьшить, это вообще супер! Так как переменную li приходится дублировать.
var dropdown = document.querySelectorAll('.menu-left>li');
var mediaQuery = window.matchMedia('(min-width: 768px)');
for(var i=0; i
function handleTabletChange(e) {
if (e.matches) {
['mouseover', 'click'].forEach(e => {
dropdown.addEventListener(e, function(e) {
var li = e.target.closest('li.item');
li.classList.add('active');
});
});
dropdown.addEventListener('mouseout', function(e) {
var li = e.target.closest('li.item');
li.classList.remove('active');
});
} else {
dropdown.addEventListener('click', function(e) {
var li = e.target.closest('li.item');
li.classList.add('active');
});
}
}
mediaQuery.addListener(handleTabletChange);
handleTabletChange(mediaQuery);
}
var cross = document.querySelectorAll('.cross');
for(var i=0; i
cross.addEventListener('click', function(e) {
var li = e.target.closest('li.item');
li.classList.remove('active');
});
}
- Пример
- Пример
- Пример
- Пример
- Пример
- Пример
- Пример
- Пример
- Пример
- Пример
Заявки фрилансеров
Похожие заказы
- Веб-программирование1 заявкаЗакрыт4 года назад
Требуется разработать расширение для входа на сайт, которое обеспечит скрытость логинов и паролей. Основные функции: импорт файла с данными, отображение только ID в выпадающем списке и возможность поиска по ID. Срок выполнения – сегодня-завтра.
Веб-программирование1 заявкаЗакрыт4 года назадТребуется разработчик для реализации динамического функционала в корзине сайта на 1С-Битрикс. Необходимо выводить сообщения об акциях на основе правил работы с корзиной. Сообщения должны обновляться при изменении стоимости корзины. Возможность работы с несколькими правилами. Укажите сроки и стоимость выполнения задачи.
Веб-программирование2 заявкиЗакрыт4 года назад- $8
Требуется специалист по веб-программированию для создания слайдера в выдаче Яндекса. Опыт в разработке турбо-страниц обязателен. Необходим готовый пример реализации для быстрой настройки под руководством исполнителя.
Веб-программирование1 заявкаЗакрыт4 года назад Требуется специалист по Craft CMS для фронт-энд разработки и доработки плагинов. Оплата почасовая, до $30 в час, по трекеру. Ожидаются навыки в веб-программировании и опыт работы с этой системой.
Веб-программированиенет заявокЗакрыт4 года назадТребуется разработка скрипта для парсинга Live матчей футбола с сайта SofaScore.com. Необходимо извлекать данные и обрабатывать их для дальнейшего использования. Предпочтительно использование PHP. Срочность высокая, оплата достойная. Подробности в предоставленном техническом задании.
Веб-программирование1 заявкаЗакрыт4 года назадТребуется разработчик для создания агрегатора перевозок на Laravel 7.2. Основные задачи: внутренний баланс, уведомления, панели управления, подключение системы пополнения/выплаты и настройка комиссии. Ожидается работа от 5 часов в день. Бюджет 500-600Р за час. Ищем частного исполнителя.
Веб-программированиенет заявокЗакрыт4 года назадТребуется разработчик для создания высоконагруженных Telegram ботов. Необходимы навыки работы с базами данных и сортировкой данных. Проект предполагает долгосрочное сотрудничество с возможностью обсуждения деталей.
Веб-программирование9 заявокЗакрыт4 года назадЗадача заключается в интеграции витжета оплаты на сайт с использованием API другого ресурса. Необходимо иметь опыт в веб-программировании и знание работы с API для успешного выполнения задачи.
Веб-программирование3 заявкиЗакрыт4 года назадТребуется опытный разработчик для завершения проекта на Vue.js с использованием TypeScript. Обязательное подписание NDA перед началом работы. Знание Laravel будет плюсом.
Веб-программирование1 заявкаЗакрыт4 года назад