2016-06-10 75 views
0

我試圖創建一個導航,點擊事件過渡。它還包含一個帶有點擊事件的另一個轉換效果的鏈接。我想使用一個類,以便我可以根據媒體查詢進行相應的設計。我是新來的JS/jQuery和我研究/設法拿到了切換的工作,但我被困在試圖寫乾淨的方法來實現以下目標:添加/刪除類與點擊任何地方刪除除了子元素或兒童取消按鈕

當點擊上nav-toggle

  • addClass ISVISIBLE到.nav-toggle
  • addClass ISVISIBLE到.menu

當點擊eventList-toggle

  • 刪除類ISVISIBLE從.nav-toggle
  • 刪除類ISVISIBLE從.menu
  • 添加類ISVISIBLE到#events

當點擊任何地方比#events或其他提交和取消按鈕

  • 刪除類是可以從#events

我寫了一個基本的小提琴與我目前有但仍然無法獲得提交和取消按鈕關閉#events元素也沒有隱藏menu點擊事件的東西鏈接(menu將只隱藏在設備視口因此類)。 https://jsfiddle.net/ngoh8gej

我可以在我的代碼的路要走,甚至尷尬,但我相信這得到跨越的問題點。任何幫助是極大的讚賞。提前致謝。

+0

這樣的事情?:https://jsfiddle.net/robertrozas/ngoh8gej/17/ – Hackerman

+0

很抱歉,但在你的榜樣,點擊內'.main'部分的任何地方任一按鈕或不關閉'#events' div –

回答

0

我更新你的撥弄你的請求:

https://jsfiddle.net/ngoh8gej/18/

我清理了一些代碼(去除不必要$(function(){),增加了一個ID的提交和取消按鈕,添加一個事件來處理它們:

$('#submit, #cancel').click(function(e) { 
    e.stopPropagation(); 
}); 

,改變你的活動,關閉#events格:

$(document).on('click', function(event) { 
    if (event.target.id !== 'events') { 
    $('.isVisible').removeClass('isVisible') 
    } 
}); 
+0

仍然存在代碼問題。 :(我需要'nav-toggle'將'.isVisible'的類應用到'.menu'和'.nav-toggle',並在文檔中的任意位置單擊時關閉。我還需要'.eventList-toggle'從'.menu'和'.nav-toggle'中刪除'.isVisible'類,將'.isVisible'應用於'#events',同時點擊'#events'內的任何地方,除去'#events'中的'.isVisible' 'div,除非它是'submit'或'#cancel'按鈕。 –

+0

更新的小提琴:https:// jsfiddle。net/ngoh8gej/19 /,看看你是否需要這些 –