JS模拟select控件的代码

  • 用JavaScript模拟实现Select下拉选框功能,在本效果的实现上,背景图片起到了非常重要的美化作用,然后用CSS和JS分别对LI进行控制,最终实现漂亮的Select效果。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>石家庄渣浆泵配件</title>
<style>
html,body{height:100%;overflow:hidden;}
body,div,form,h2,ul,li{margin:0;padding:0;}
ul{list-style-type:none;}
body{background:#23384e;font:12px/1.5 \5fae\8f6f\96c5\9ed1;}
#search,#search form,#search .box,#search .select,#search a{background:url/jscss/demoimg/201211/search.jpg) no-repeat;}
#search,#search .box,#search form{height:34px;}
#search{position:relative;width:350px;margin:10px auto;}
#search .box{background-position:right 0;}
#search form{background-repeat:repeat-x;background-position:0 -34px;margin:0 20px 0 40px;}
#search .select{float:left;color:#fff;width:190px;height:22px;cursor:pointer;margin-top:4px;line-height:22px;padding-left:10px;background-position:0 -68px;}
#search a{float:left;width:80px;height:24px;color:#333;letter-spacing:4px;line-height:22px;text-align:center;text-decoration:none;background-position:0 -90px;margin:4px 0 0 10px;}
#search a:hover{color:#f60;background-position:-80px -90px;}
#search .sub{position:absolute;top:26px;left:40px;color:#fff;width:198px;background:#2b2b2b;border:1px solid #fff;display:none;}
#search .sub li{height:25px;line-height:24px;cursor:pointer;padding-left:10px;margin-bottom:-1px;border-bottom:1px dotted #fff;}
#search .sub li.hover{background:#8b8b8b;}
</style>
<script type="text/javascript">
window.onload = function ()
{
    var oSelect = document.getElementsByTagName("span")[0];
    var oSub = document.getElementsByTagName("ul")[0];
    var aLi = oSub.getElementsByTagName("li");
    var i = 0;

    oSelect.onclick = function (event)
    {
        var style = oSub.style;
        style.display = style.display == "block" ? "none" : "block";
        //阻止事件冒泡
        (event || window.event).cancelBubble = true
    };

    for (i = 0; i < aLi.length; i++)
    {
        //鼠标划过
        aLi[i].onmouseover = function ()
        {
            this.className = "hover"
        };
        //鼠标离开
        aLi[i].onmouseout = function ()
        {
            this.className = "";
        };
        //鼠标点击
        aLi[i].onclick = function ()
        {
            oSelect.innerHTML = this.innerHTML
        }
    }

    document.onclick = function ()
    {
        oSub.style.display = "none";
    };
};
</script>
</head>
<body>
<div id="search">
    <div class="box">
        <form>
            <span class="select">请选择游戏名称</span>
            <a href="javascript:;">搜索</a>
        </form>
    </div>
    <ul class="sub">
        <li>地下城与勇士</li>
        <li>魔兽世界(国服)</li>
        <li>魔兽世界(台服)</li>
        <li>热血江湖</li>
        <li>神鬼传奇</li>
        <li>大话西游II</li>
        <li>QQ幻想世界</li>
    </ul>
</div>
</body>
</html>

JS模拟select控件的代码

时间: 2024-10-22 22:06:29

JS模拟select控件的代码的相关文章

js操作select控件大全(包含新增、修改、删除、选中、清空、判断存在等)

原文:js操作select控件大全(包含新增.修改.删除.选中.清空.判断存在等) js操作select控件大全(包含新增.修改.删除.选中.清空.判断存在等) js 代码// 1.判断select选项中 是否存在Value="paraValue"的Item        function jsSelectIsExitItem(objSelect, objItemValue) {            var isExit = false;            for (var i

模拟select控件&amp;&amp;显示单击的坐标&amp;&amp;用户按下键盘,显示keyCode

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

js+CSS实现模拟华丽的select控件下拉菜单效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

js代码赋值触发select控件的onchange事件

嗯,现在在一个小公司实习,直接接触代码收获不小.  现在有个需求是4级联动的select过滤,需要js代码赋值并触发onchange来调用ajax方法,于是问题是怎样触发,找了些资料并且自己尝试了一下,验证无误. 代码在chrome.IE8.ff浏览器测试均通过,记在这里以备查阅~ <html> <head> </head> <body> <select id="sel" name="mysel" onchang

基于vue.js实现远程请求json的select控件

基本思路 前端把需要的参数类型编码传到后台,后台返回相应的参数列表json,前端利用vue渲染select控件 具体实现 前端代码 <select v-model="template.type" class="form-control"> <option value="">请选择...</option> <option v-for="option in options" v-bind:

HTML的select控件美化

CSS: .div-select { border: solid 1px #999; height: 40px; line-height: 40px; cursor: default; } .div-select-text { float: left; background-color: #fff; height: 100%; word-break: keep-all; overflow: hidden; cursor: default; } .div-select-text > div { p

JavaScript封装一个实用的select控件

最近一直把精力放在项目上面,导致忽略的一些底层的东西.以前就一直觉得原有的select控件很丑,正好周末有时间,试着做了一个简单封装,实现了它的基本功能.我总结了一下,大概分为三个部分: 1.对显示样式的处理 2.对点击和hover事件的处理 3.change事件发送请求的处理 我们先看jsp的展示代码: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%&

Javascript 操作select控件

转:Javascript 操作select控件大全(新增.修改.删除.选中.清空.判断存在等)Posted on 2007-08-08 14:56 礼拜一 阅读(5) 评论(0) 编辑 收藏 1判断select选项中 是否存在Value="paraValue"的Item  2向select选项中 加入一个Item  3从select选项中 删除一个Item  4删除select中选中的项  5修改select选项中 value="paraValue"的text为&q

关于ueditor的select控件的key为空时出现校验bug的修复

在工作流表单中,因ueditor编辑器的原因, 下拉框控件会出现如下情况 当 第一个 下拉项 的 值:不输入内容时,生成的select源码如下: <select style="width:80px;height:25px;"> <option>请选择</option> <option value="M">男</option> <option value="F">女</o