简体   繁体   English

鼠标悬停不显示隐藏的 div

[英]mouseover doesn't show hidden div

<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 is a hidden div. simple_sidenav-3 是一个隐藏的 div。 So why doesn't it show when mouse is over #menu-item-58?那么为什么当鼠标在#menu-item-58 上时它不显示呢?

Please check it here http://mentor.com.tr/wp/?page_id=164请在此处查看http://mentor.com.tr/wp/?page_id=164

try this instead:试试这个:

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

$ is undefined. $未定义。

You haven't wrapped your code in the jQuery DOM ready function.您尚未将代码包装在 jQuery DOM 就绪 function 中。 Put this between your <script> tags:把它放在你的<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'); });
}

This will bind the mouse events to the elements when the document (page) has been loaded.这将在加载文档(页面)时将鼠标事件绑定到元素。

Try changing #simple_sidenav-3 from visibility:hidden;尝试从可见性更改#simple_sidenav-3 visibility:hidden; to display:none; display:none; Then call something like .slideDown() for a nice effect.然后调用.slideDown()类的东西以获得很好的效果。

Also, here's some improvements to your code:此外,这里对您的代码进行了一些改进:

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();
    });
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM