繁体   English   中英

尝试使用jQuery创建菜单,但我的代码无法正常工作

[英]Trying to create a menu with jQuery but my code isn't working

我正在尝试使用jQuery创建菜单,如当用户将鼠标悬停在某个元素上时,菜单将显示,而当用户将鼠标移开时,菜单将隐藏。

我的html代码:

<div class="span8 img">
   <img src="http://farm4.staticflickr.com/3198/2978120072_ca00381e08.jpg" alt="" width="550px" height="368px">
   <div class="like-box">Like</div> 
</div>

CSS:

.like-box {
    display: block;
    background: rgba(255, 255, 255, .9);
    padding: 15px;
    position: absolute;
    left: -1px;
    width: 94%;
    bottom: -1px;
    display: none;
}

Javascript:

$('.img').mouseover(function() {
        $(this).parent().siblings('.like-box').css('display', 'block');
        $(this).parent().siblings('.like-box').mouseleave(function() {
        $(this).css('display', 'none');
        })
    });

但这似乎不起作用。

mouseleave事件绑定到img mouseover之外,因为mouseover内的绑定事件每次都会将mouseleave事件绑定到like-box ,这既不好又不必要。

$('.like-box').mouseleave(function() {
    $(this).css('display', 'none');
})
$('img').mouseover(function() {
    $(this)  // this point to img
      .next('.like-box')  // point to like-box
      .css('display', 'block');       
});

演示

注意:

您的问题在这里:

$(this).parent().siblings('.like-box')

$(this)imgparent()div.span8.img ,而siblings()则是...无。

尝试:

$(this).next('.like-box')

暂无
暂无

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

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