【4】自定义下拉框

本文介绍了一个使用HTML、CSS及jQuery实现的简单下拉框效果案例。通过自定义样式和交互逻辑,实现了下拉菜单的显示与隐藏,并允许用户选择不同的选项。此案例适用于初学者了解基本的网页元素交互原理。
<!DOCTYPE html>
<html lang="en">

 

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>模拟下拉框</title>
    <style>
<!-- CSS-->

* {margin:0;padding:0}
ul,li {list-style:none;}
.selectTotal {width:200px;position:relative;font-size:12px;}
.selectText {height:100%;line-height:40px;padding-left:10px;border:1px solid #c1c1c1;}
.selectLi {height:28px;line-height:28px;padding-left:10px;}
.selectLi:hover {background:#ff5d5b;color:white;}
.selectLiLast {border-bottom:none;}
.selectUl {border:1px solid #c1c1c1;border-top:none;display:none;position:absolute;top:42px;left:0;width:198px;}
.arrow {position:absolute;top:19px;right:10px;height:6px;}

    </style>
</head>
<!-- HTML-->
<div class="selectTotal">
    <div class="selectText">河南</div>
    <ul class="selectUl">
        <li class="selectLi" value="1">河南</li>
        <li class="selectLi" value="2">苏州</li>
        <li class="selectLi" value="3">海南</li>
        <li class="selectLi selectLiLast" value="4">大连</li>
    </ul>
    <img src="1.png" alt="" class="arrow">
</div>
</body>
<script src="jquery.js"></script>
<!-- JS-->
<script>
    $(".selectText,.arrow").click(function (ev) {
        ev.stopPropagation();
        var ul = $(".selectUl");
        if (ul.css("display") == "none") {
            ul.slideDown("fast");
        } else {
            ul.slideUp("fast");
        }
    });

 

    $(".selectLi").map(function () {
        $(this).click(function () {
            var txt = $(this).text();
            $(".selectText").html(txt);
            $(".selectUl").hide();
            console.log($(this).attr('value'));
        });
    })

 

    //当点击空白处,隐藏列表
    $(document).click(function () {
        $('.selectUl').hide();
    });

 

</script>

 

</html>

转载于:https://www.cnblogs.com/tangiguo/p/6913170.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值