Будьте добры помочь, если таковое возможно с jquery.. А именно с toggle.

(Ответов: 3, Просмотров: 766)
  1. Новичок
    • Регистрация: 22.07.2013
    • Сообщений: 18
    • Репутация: 1
    Всем хорошего настроения в этот прежденочной вечер..
    Вопрос собственно вот в чём..:
    Есть меню на сайте, подпункты должны отображаться исключительно при клике, а не при наведении, но это уже реализовано с помощью toggle.. Но возникла проблема в том, что когда при клике на один пункт меню, подпункты отображаются, затем при клике на другой пункт меню, всё опять же здорово отображается, но если же мы второй раз кликнем по тому же первому пункту меню, он не откроется, так как на нём еще висит событие toggle и просто на просто он выполняет закрытие и по этому приходится кликать 2 раза.. что для пользователя будет не очень понятно..
    Возможно ли как то это решить? Или может у jquery есть альтернативы? Думал о аккордине, но понятия пока слегка не представляю как аккордин внедрить в горизонтальное меню.
    Ах да, для простоты понимания, можете сами попробовать по кликать по менюшке, это на сайте - allTula.ru .. Тут верхние 4 пункта пока.. "Вся Тула", "Новости", "Объявления", "Полезное".
    И вот, если кликнуть сначала по "Вся Тула", а потом по "Новости", то отобразится быстро, но если же опять кликнуть на "Вся Тула", то подпункты отобразятся после 2 клика..
    Надеюсь поняли о чём я..
    Так же вот.. прилагаю код скрипта..:
    jQuery('a.domnili').toggle(function(){
    jQuery('a.domnili + ul').hide();
    jQuery(this).next('ul').slideToggle( "slow", function() {
    // Animation complete.
    });
    },function(){
    jQuery(this).next('ul').fadeOut(111);

    });
    P.S. Извините, если много читать, но благодарен, если потратите время и на прочтение.
    • 0
  2. В поисках кнопки "бабло" Аватар для berida
    • Регистрация: 08.03.2013
    • Сообщений: 282
    • Репутация: 56
    Просто используй обычный click и флаг. Т.е. если кликаем по Новостям - смотрим чему равен флаг, если 1 - то закрываем, если 0 - то открываем. А когда кликаем, например, по объявлениям - проставляем у всех других элементов флаг равным 0.
    Экономьте электричество! Выключайте Num Lock!
    • 3

    Спасибо сказали:

    epp(30.08.2014), londer(30.08.2014), OKyJIucT(29.08.2014),
  3. Новичок
    • Регистрация: 22.07.2013
    • Сообщений: 18
    • Репутация: 1
    berida, Благодарю, выручил, почему - то тупил с этим весь день, но всё таки сделал!
    Сначала гуглил, гугл меня выкидывал на.. jQuery.Callbacks() .. Всё не мог понять как связано это с флагами..
    Но благо код вышел такой (Может потребуется кому..):
    ----------------------------
    var flags=0; //Или можно просто flag..
    jQuery('a.double_click').click(function(nohref){ //nohref - чтобы не было перехода по ссылке..
    if (flags==0){
    jQuery('a.double_click').addClass('hide');
    jQuery('a.double_click').removeClass('show');
    jQuery(this).addClass('show');
    flag=1;
    }
    else {
    jQuery('a.double_click').removeClass('show');
    jQuery(this).addClass('show');
    flags=0;
    }
    nohref.preventDefault(); //nohref - чтобы не было перехода по ссылке..
    var hhref=jQuery(this).attr('href'); //В переменную hhref добавим значение параметра href у ссылки..
    jQuery(this).dblclick(function() { //ПРИ ДВОЙНОМ КЛИКЕ..
    location.href=hhref; //..ПЕРЕХОД ПО ССЫЛКЕ..
    });
    });
    • 1

    Спасибо сказали:

    epp(30.08.2014),
  4. Студент
    • Регистрация: 24.01.2013
    • Сообщений: 94
    • Репутация: 14
    • Webmoney BL: ?
    В jQuery можно строить цепочку команд:
    Код:
    jQuery('a.double_click').addClass('hide');
    jQuery('a.double_click').removeClass('show');
    превратить в
    Код:
    jQuery('a.double_click').addClass('hide').removeClass('show');
    Кроме того, крайне рекомендую учиться давать осмысленные имена переменным. Претензия к nohref, это в Вашем понимании это отмена перехода, вообще это экземпляр события.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Если есть возможность помочь
Оффтоп и свободные темы 7 24.03.2013 00:08
Будьте добры, оцените стоимость сайта.
Оффтоп и свободные темы 4 11.11.2012 08:57
Интересует adult и dating трафик. Если качественный, возможно покупка больших объемов
Реклама партнерских программ 0 08.09.2009 13:20
Интересует adult и dating трафик. Если качественный, возможно покупка больших объемов
Адалт и дейтинг 0 08.09.2009 13:20

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры