Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 16

Как добавить к function click переменную?

22.08.2014, 05:01. Показов 2240. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте.
Простое меню, по клику на "#touch-menu" разворачивает и сворачивает список меню ".menu" с ссылками.
Как сделать так чтобы меню сворачивалось обратно не только по клику на "#touch-menu",
но и по клику по ссылке?
p.s. Эти ссылки перелистывают картинки, а не переходят на другую страницу.

HTML5
1
2
3
4
5
6
7
8
9
10
<div id="menu-content"> <a id="touch-menu" class="mobile-menu" href="#">Меню</a>
  <nav id="nav-menu">
    <ul class="menu">
      <li class="nav-menu-current"><a href="#">Первая</a></li>
      <li><a  href="#">Вторая</a></li>
      <li><a  href="#">Третья</a></li>
      <li><a  href="#">Четвертая</a></li>
    </ul>
  </nav>
</div>
Такой код:

JavaScript
1
2
3
4
5
6
7
8
9
$(document).ready(function(){ 
    var touch   = $('#touch-menu');
    var menu    = $('.menu');
 
        $(touch).on('click', function(e) {
        e.preventDefault();
        menu.slideToggle();
 
});
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.08.2014, 05:01
Ответы с готовыми решениями:

Function(click)
Здравствуйте. Подскажите пожалуйста, что нужно дописать чтоб окно исчезало? Сейчас оно только появляется, и не убирается. //Открытие...

click function
Доброго времени суток. Есть скрипт: var PageTransitions = (function () { var $main = $( '#pt-main' ), $pages = $main.children(...

Альтернатива .click(function()
Каким образом должен выглядеть код jquery на чистом js? $(&quot;.down&quot;).click(function() { $(&quot;#sideRight&quot;) ...

7
 Аватар для Sombrero
74 / 70 / 40
Регистрация: 31.03.2014
Сообщений: 298
22.08.2014, 07:31
westyes, добавить для них общий класс, либо создать еще один обработчик onclick для ссылки
1
Все элементарное - сложно
133 / 118 / 50
Регистрация: 14.04.2014
Сообщений: 509
22.08.2014, 09:50
есть такая штука
JavaScript
1
$('#touch-menu li').click();
Называется сложный селектор.
1
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 16
22.08.2014, 15:40  [ТС]
Получилось сделать сворачивание меню по клику на li, но появилась проблема.
У меня одно меню, но имеет разный вид при разной ширине экрана.

Сворачиваться должно только при экране меньше чем 767px, а с такой функцией у меня при любой ширине сворачивается. Как это исправить?
Я дуб в js

Весь код выглядит так теперь:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$(document).ready(function(){ 
    var touch   = $('#touch-menu');
    var menu    = $('.menu');
 
        $(touch).on('click', function(e) {
        e.preventDefault();
        menu.slideToggle();
 
            $('li').on('click', function() {
            menu.slideUp();
            });
});
 
    $(window).resize(function(){
        var w = $(window).width();
        if(w > 767 && menu.is(':hidden')) {
            menu.removeAttr('style');
        }
    });
    
});
Добавлено через 1 час 14 минут
Получилось то, что я хотел вот так:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$(document).ready(function(){ 
    var touch   = $('#touch-menu');
    var menu    = $('.menu');
 
        $(touch).on('click', function(e) {
        e.preventDefault();
        menu.slideToggle();
 
            $('li').on('click', function() {
            var wi  = $(window).width();                    
            if(wi < 767) {
            menu.slideUp(); }
            });
});
 
    $(window).resize(function(){
        var w = $(window).width();
        if(w > 767 && menu.is(':hidden')) {
            menu.removeAttr('style');
        }
    });
    
});
Этот мой измененный код не кривой? просто я методом тыка сделал.
0
Все элементарное - сложно
133 / 118 / 50
Регистрация: 14.04.2014
Сообщений: 509
22.08.2014, 17:33
вместо
JavaScript
1
$('li').on('click', function()
сделайте
JavaScript
1
$('li', touch).on('click', function()
Иначе, когда вы еще добавите теги li на странице, у вас будет срабатывать меню)
1
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 16
22.08.2014, 17:51  [ТС]
Да, вы правы, другие ли тоже захватывает.
Но с этим кодом перестал сворачивать почему то:

JavaScript
1
$('li', touch).on('click', function()
Тогда я добавил в html в меню к li id="fff"

и вот такой код сделал:

JavaScript
1
$('li#fff').on('click', function()
Стало работать и другие ли не захватывает.
Большое спс за наводку. Но почему ваш метод не сработал? Может еще вариант есть?
0
Все элементарное - сложно
133 / 118 / 50
Регистрация: 14.04.2014
Сообщений: 509
22.08.2014, 17:56
Прошу прощения, сила привычки. Я обычно в переменную вытаскиваю весь объект. Перепутал в общем.

Добавлено через 1 минуту
Стоп, это же и есть объект О_о... странно, должно работать

Добавлено через 1 минуту
ясно, menu нужно было, а не touch. Моя невнимательность
1
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 16
22.08.2014, 18:34  [ТС]
Цитата Сообщение от mixenik Посмотреть сообщение
ясно, menu нужно было, а не touch
Да теперь работает без дополнительного id!
Благодарю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.08.2014, 18:34
Помогаю со студенческими работами здесь

live('click',function) не выполняется
Доброго времени суток. Написал тестовый код на jQuery, который по нажатию на кнопку добавляет DIV в &lt;body&gt;, а при клике на DIV -...

JQuery, click(function(). Цикл PHP
Здравствуйте! Данные в БД заносятся только при наличии индекса. Необходимо, чтобы индекс присваивался каждой строке при нажатии на...

Как добавить добавить новую типизированную переменную в файл
Есть такая процедура, мне нужно, чтобы в конец файла добавлялась новая s, а оно затирает старую, и вместо нее остается новая. Writeln не...

Почему после метода click перестает работать функция $(window).scroll(function(){.})
Здравствуйте! Почему после метода click(нажатие на ссылку) перестает работать функция $(window).scroll(function(){...}). Как сделать,...

Как переменную добавить в VALUE?
допустим в php есть переменная $mymessage, равная &quot;мое сообщение&quot; вот echo &quot;&lt;input type='text' name='message' value='some...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой
Programma_Boinc 10.04.2026
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой Если на Windows стоит дискретная NVIDIA или AMD — можно отдать её вычислительную мощность реальным исследованиям. . . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru