jq实例导航栏 滑动思路

1.希望鼠标滑动到翡翠这一块不消失?该怎么写,想了很久没思路。
图片描述

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            ul,
            li {
                margin: 0;
                padding: 0;
            }
            
            li {
                list-style: none;
            }
            
            .clearfix:after {
                content: '';
                display: block;
                clear: both;
            }
            
            #warp .list {
                width: 200px;
                cursor: pointer;
                height: 50px;
                background-color: #c7171f;
                color: #fff;
                font-size: 15px;
                line-height: 50px;
                padding-left: 30px;
                position: relative;
            }
            
            #warp .list div {
                float: left;
            }
            
            #warp .list>span {
                float: right;
                margin-right: 30px;
            }
            
            #warp .list .listdata {
                position: absolute;
                top: 0;
                left: 100%;
                color: black;
                border: 1px solid #ccc;
                display: none;
            }
            
            #warp .list .show {
                display: block;
            }
            
            #warp .list .listdata li {
                width: 200px;
                font-size: 12px;
            }
            
            #warp .list .listdata li span {
                margin-right: 30px;
            }
        </style>
        <script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.js" type="text/javascript" charset="utf-8"></script>
    </head>

    <body>
        <ul id="warp">
            <li class="list clearfix">
                <div class="jewelry">珠宝玉器</div>
                <span>></span>
                <ul class="listdata">
                    <li>
                        <span>翡翠</span>
                        <span>玉石</span>
                    </li>
                    <li>
                        <span>翡翠</span>
                        <span>玉石</span>
                    </li>
                    <li>
                        <span>翡翠</span>
                        <span>玉石</span>
                    </li>
                </ul>
            </li>
        </ul>
        <script type="text/javascript">
            var $ol = $('#warp  li');
            var $ul = $('#warp ul');
            var index;
            $ol.on('mouseover', function(event) {
                console.log($(this).index())
                $(event.target).find('.listdata').attr('class', function() {
                    return $(this).attr('class') + ' show';
                });

            });
            $ol.on('mouseout', function(event) {

                $(event.target).find('.listdata').removeClass('show');

            });
        </script>
    </body>

</html>
阅读 2.2k
3 个回答
  var $outerUL = $('#warp');
  $outerUL.on('mouseover', '.list', function(event) {
    $(this).find('.listdata').addClass('show');
  });
  $outerUL.on('mouseout', '.list', function(event) {
    $(this).find('.listdata').removeClass('show');
  });

css:

.jewelry:hover ~ .listdata {
    display: block;
}
.listdata:hover {
    display: block;
}

看这么久没人回答……我给你提供个思路吧,不过我自己也没实现过。思路就是显示#warp的第二层li通过监听#warp的第一层limouseover来显示,隐藏通过监听整个#warpmouseout来隐藏。不知道这是不是你需要的效果。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题