js hover 下拉框

本文介绍了一个使用CSS样式和JavaScript实现元素显示隐藏效果的例子。通过鼠标悬停和点击事件来控制HTML元素的显示与隐藏,并利用类选择器实现特定样式的切换。
    <div class="box">
            <div class="a f">111111</div>
            <div class="a-box">
                <div class="b d">111111</div>
                <div class="b">222222</div>
                <div class="b">333333</div>
            </div>
        </div>
    .box {
                width: 100px;
            }
            
            .a,
            .b {
                width: 200px;
                height: 30px;
                background: red;
                /*border: 1px solid #000;*/
            }
            
            .a.f:after {
                content: url(x-.g.png);
                width: 10px;
                height: 10px;
                display: inline-block;
            }
            
            .a-box {
                display: none;
            }
            
            .a:after {
                content: url(d-g.png);
                width: 10px;
                height: 10px;
                display: inline-block;
            }
            /*.b:after {
            content: url(x-.g.png);
            width: 10px;
            height: 10px;
            display: inline-block;
          }*/
            
            .d {
                display: none;
            }
$(function() {
                $('.box').on('mouseenter', function() {
                    $('.a-box').css('display', 'block');
                    $(".a").removeClass('f');
                })
                $('.box').on('mouseleave', function() {
                    $('.a-box').css('display', 'none');
                    $(".a").addClass('f');
                })
                $('.box').on('click', '.a', function() {
                    $('.a-box').css('display', 'none');
                    $(".a").addClass('f');
                })
                $('.a-box').on('click', '.b', function() {
                    $('.d').removeClass('d');
                    $(this).addClass('d');
                    $('.a').remove();
                    $('.box').prepend($(this).clone().attr('class', 'a f'));
                    $('.a-box').css('display', 'none');
                })
            })

类名为了方便随便命名的,当然开发过程中不允许这样命名,为了大家看的明白一些

转载于:https://www.cnblogs.com/chen527/p/9591818.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值