2013-04-05 53 views
0

在這個代碼下面我只是想當我點擊面板內的任何內容(面板內的P標籤中包含的內容),不應該滑動面板,直到點擊面板或其他地方在面板內部使用但不是子元素p,請參閱小提琴中的html以獲取幫助,並單擊「嘗試」,如果使用其他非click事件,則不應關閉面板。這個劇本早些時候幫助我與先生praveen。需要幫助在這個切換很小的變化

代碼

$(document).ready(function() { 
    $("#toggle li > .panel").hide(); 
    $('.plusminus').html('+'); 

    $('#toggle li').click(function() { 
     if(!$(this).children('.panel').is(":visible")) { 
      $("#toggle li > .panel").slideUp(); 
      $('.plusminus').html('+'); 
     } 
     a = $(this).children(".plusminus"); 
     $(this).children(".panel").slideToggle('fast', function(){ 
      a.html($(this).is(":visible") ? '--' : '+'); 
     }); 
    }); 

    $("body").click(function(event){ 
     if ($(event.target).closest("ul").attr('id') != "toggle") { 
      $("#toggle li > .panel").slideUp(); 
      $('.plusminus').html('+'); 
     } 
    }); 
}); 

撥弄着玩的

http://jsfiddle.net/praveenscience/Ss3xU/26/

+0

我真的不明白你的問題。 「如果我點擊任何帶有面板的內容標籤,我可以工作嗎?」內容標籤究竟是什麼意思?您網頁上的哪些對象應該是可點擊的? – drquicksilver 2013-04-05 08:32:35

回答

1

去除document load$("#toggle li > .panel").hide();使面板上打開load

添加$("#toggle li > .panel").click(function(event){ event.stopPropagation(); }); 將使下拉當y時不關閉ou點擊面板內

+0

@ Nisanth:+1。 @Kamal:順便說一句,你真的想在打開其他菜單時摺疊一個菜單,還是這是一個問題? – Sharun 2013-04-05 09:29:46

+0

@Nisanth在fiddel的html中看到點擊(嘗試),這應該不會滑動,直到在其他地方執行的點擊事件。 – 2013-04-05 09:45:31

+0

@kamalbhardwaj查看編輯答案 – 2013-04-05 09:50:22