Подменю на заказ JQuery

0

Pls проверит эту ссылку, http://ervaarelburg.nl/index1.html

У меня проблема в подменю, это JS для подменю http://pastebin.com/MrJPDvct

Поэтому я хочу, когда я нажимаю ссылки на меню, подменю открывается, и, щелкнув в другом месте, подменю исчезает. Проблема в том, когда я его открываю, он автоматически исчезает из-за этого кода

$('html,body').click(function(event) {
     if(event.target.id == 'flip' || event.target.id == 'panel0' || event.target.id == 'panel1' || event.target.id == 'panel2' || event.target.id == 'panel3' || event.target.id == 'panel4' || event.target.id == 'panel5' || event.target.id == 'panel6'){
         $(".submenu").fadeIn("slow");
     }else{
         $(".submenu").fadeOut("slow");
     }
  });

аналогично этому, http://ervaarelburg.nl/
но я хочу изменить код для index1.html чтобы вы могли помочь в этом?

Заранее спасибо

Теги:

2 ответа

0

Рабочий ДЕМО

Попробуй это

Добавить event.stopPropagation(); каждому .item

и для затухания при щелчке вне элемента добавьте это

$('html').click(function() {
for(var i=6;i<=10;i++){ 
       $("#panel"+i).fadeOut("slow"); 
    }
    for(var i=0;i<=4;i++){ 
       $("#panel"+i).fadeOut("slow"); 
    }
});

Надеюсь, это поможет, спасибо

0

Было бы намного проще использовать более определенный селектор, а затем проверить event.target несколько раз в предложении if/else. Попробуйте что-то вроде этого:

    var isOpen = false;

// Clicking on the actual anchors shows in the submenu
$('#flip > ul li > a' ).on( 'click', function( e ) {
    e.preventDefault();
    $(".submenu").fadeIn( "slow", function() { isOpen = true; } );
});

$( document ).on( 'click', function( e ) {
    // If you clicked in the document, as long as you didn't click one of the
    // triggers, then close the menu.
    if( isOpen && ( $.inArray( e.target, $('#flip > ul > li > a' ) ) === -1 ) ) {
        $(".submenu").fadeOut("slow", function() { isOpen = false; } );
    }

});

JsFiddle: http://jsfiddle.net/grammar/qEfbT/

Надеюсь это поможет

Ещё вопросы

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