2012-04-23 137 views
-1

這個簡單的html css菜單。 現在它工作正常的頁面重定向(href)。點擊後隱藏菜單(淡出)

我想隱藏後點擊它。

我只是在函數調用時,點擊它,它將調用Ajax請求

http://jsfiddle.net/5TBFr/代碼此處鏈接

here is image snap

+4

請您重新解釋一下您的問題,我在第二行後丟失了:( – doNotCheckMyBlog 2012-04-23 13:34:23

+0

它在Mozilla Firefox中按預期工作,您是否在其他瀏覽器中嘗試過 – Murtaza 2012-04-23 13:35:18

+0

它也會在點擊Google Chrome後關閉... – DarkAjax 2012-04-23 13:36:25

回答

2

我supose這是你在找什麼:http://jsfiddle.net/5TBFr/26/

我添加了一個點擊事件在一個元素上,並且我返回false,所以請求被停止。你可以在那裏添加你的ajax請求。我做了一些工作,移動「ul」元素以便鼠標離開並隱藏,然後我將它移回原始位置。

+0

'.closest('ul')'可能比'parent()。parent()'更好。 – j08691 2012-04-23 15:10:17

+0

@gabitzish:隱藏後不工作。下次它不會出現(不淡入)。 – 2012-04-25 11:18:04

+0

答案中的鏈接已過時。這是一個沒有刷新工程http://jsfiddle.net/5TBFr/26/ – gabitzish 2012-04-25 11:24:34

0

首先,如果我理解你,因爲你希望你需要jQuery,爲什麼?因爲JavaScript不知道什麼CSS屬性影響特定的元素。其次,你使用CSS的方式並不是正確的,你正在混合設計和功能,並且對於像這樣的最簡單的任務,你會遇到像這樣的問題。即使可以,CSS並不是想要顯示或隱藏菜單,但是CSS的作用在於,甚至可以對其進行設計,但是當用戶交互涉及到時,就會被搞砸。所以,要小心:P

在jQuery的應該是這樣的:

$(document)​.ready(function() 
{ 
    $('ul').on('click', 'li a', function() 
    { 
     $(this.parentElement.parentElement).hide(); 
    }); 
});​ 

http://jsfiddle.net/5TBFr/25/

+0

你的jsFiddle可以工作,因爲你一直在做這個請求。點擊後必須返回false。返回false只會爲你工作一次,因爲它隱藏的ul元素將永遠不會再出現。 – gabitzish 2012-04-23 15:05:57

+0

「因爲javascript不知道什麼CSS屬性影響特定元素。」當然是的。由於jQuery是JavaScript,所以jQuery可以做的任何事情,JavaScript都可以做到。 – j08691 2012-04-23 15:06:48

+0

@ j08691當然,jQuery是JavaScript,但我不想知道jQuery在內部是否在簡單的花式列表中檢索所有css屬性都直接影響DOM元素。如果你知道請,將不勝感激 – 2012-04-23 15:08:21