2011-07-09 135 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

编辑答案,很好的眼睛 –