2011-07-09 178 views
1
<script> 
$("#menu-item-58").mouseover(function() { $("#simple_sidenav-3").css('visibility','visible'); }); 
$("#menu-item-58").mouseout(function() { $("#simple_sidenav-3").css('visibility','hidden'); }); 
</script> 

#simple_sidenav-3 { 
    visibility:hidden; 
} 

simple_sidenav-3是一個隱藏的div。 那麼,爲什麼鼠標結束#menu-item-58時不顯示?mouseover不顯示隱藏div

請點擊這裏http://mentor.com.tr/wp/?page_id=164

回答

0

嘗試更改#simple_sidenav-3visibility:hidden;display:none;然後調用類似.slideDown()的效果很好。

而且,這裏是你的代碼的一些改進:

jQuery(function() { //waits till the document is ready 
    jQuery("#menu-item-58").mouseover(function() { 
     jQuery("#simple_sidenav-3").slideDown(); 
    }).mouseout(function() { //no need to use $("#menu-item-58") twice 
     jQuery("#simple_sidenav-3").slideUp(); 
    }); 
}); 
+1

顯示:沒有任何東西完全不同。 –

+0

它會完成他正在嘗試做的事情,現在他可以使用'.slideDown()'這對於翻轉導航會是一個非常好的效果。 – switz

+0

這不是關於決定哪些效果對別人的網站「非常好」,而是關於回答他的問題。設置要顯示的元素:none將導致元素消失,而不是隱藏它。 –

2

檢查一下你有沒有包裹在jQuery的DOM ready函數代碼。將這個你<script>標籤之間:

$(document).ready(function() 
{ 
    $("#menu-item-58").mouseover(function() { $("#simple_sidenav-3").css('visibility','visible'); }); 
    $("#menu-item-58").mouseout(function() { $("#simple_sidenav-3").css('visibility','hidden'); }); 
} 

當文檔(頁)已加載這將綁定鼠標事件的元素。

+0

嗯補充說,但仍然不可見。 – Talha

+0

@JamWaffles:你是對的。或者甚至1/3正確;)我的意思是根據[jQuery文檔](http://api.jquery.com/jQuery/#jQuery3),這將在** DOM準備就緒時執行**,而不是在頁面完成加載(這兩個事件之間有一些區別)。但是,是的,它應該被包裝。除了'$'別名不可用,並且在該頁面上'$'是'未定義'OP指向 - OP應該使用'jQuery'函數而不是'$'函數。 – Tadeck

+0

謝謝Tadeck。你會知道爲什麼不能使用'$'? – Bojangles

3

試試這個:

jQuery("#menu-item-58").mouseover(function() { 
    jQuery("#simple_sidenav-3").css('visibility','visible'); 
}); 

$是不確定的。

+0

+1你注意到別人沒有注意到。 – Tadeck

+1

您還需要更改'$ .ready()'調用。 –

+0

編輯答案,很好的眼睛 –