zoukankan      html  css  js  c++  java
  • div模拟select下拉菜单效果

    有些时候select下拉菜单直接用css调整样式,可能会有兼容性的问题,尤其是右侧的下拉三角,很难用css控制,那怎么办呢?可以采用div模拟select下拉菜单的效果。先直接上代码了:

    HTML的结构如下:

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title>div模拟下拉菜单特效</title>
    <style type="text/css">
    body,ul,li{ margin:0; padding:0; font-size:13px;}
    ul,li{list-style:none;}
    
    #divselect{width:186px; margin:80px auto; position:relative; z-index:10000;}
    #divselect cite{width:150px; height:24px;line-height:24px; display:block; color:#807a62; cursor:pointer;font-style:normal;
    padding-left:4px; padding-right:30px; border:3px solid #333333; 
    background:url(xjt.png) no-repeat right center;}
    #divselect ul{width:184px;border:1px solid #333333; background-color:#ffffff; position:absolute; z-index:20000; margin-top:-1px; display:none;}
    #divselect ul li{height:24px; line-height:24px;}
    #divselect ul li a{display:block; height:24px; color:#333333; text-decoration:none; padding-left:10px; padding-right:10px;}
    #divselect ul li a:hover{background-color:#CCC;}
    p{margin:10px auto; width:920px;}
    #n{margin:10px auto; width:920px; border:1px solid #CCC;font-size:12px; line-height:30px;}
    #n a{ padding:0 4px; color:#333}
    </style>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="divselect.js"></script>
    <script type="text/javascript">
    $(function(){
        divselect("#divselect","#inputselect");
    });
    </script>
    </head>
    <body>
    
    <form action="" method="post">
    <div id="divselect">
          <cite>请选择特效分类</cite>
          <ul>
             <li><a href="javascript:;" selectid="1">发现</a></li>
             <li><a href="javascript:;" selectid="2">优惠</a></li>
             <li><a href="javascript:;" selectid="3">海淘</a></li>
             <li><a href="javascript:;" selectid="4">晒物</a></li>
             <li><a href="javascript:;" selectid="5">经验</a></li>
          </ul>
      </div>
      <input name="" type="hidden" value="" id="inputselect"/>
    </form>
    
    </body>
    </html>
    divselect.js 如下:
    divselect = function(divselectid,inputselectid) {
        var inputselect = $(inputselectid);
        $(divselectid+" cite").click(function(){
            var ul = $(divselectid+" ul");
            if(ul.css("display")=="none"){
                ul.slideDown("fast");
            }else{
                ul.slideUp("fast");
            }
        });
        $(divselectid+" ul li a").click(function(){
            var txt = $(this).text();
            $(divselectid+" cite").html(txt);
            var value = $(this).attr("selectid");
            inputselect.val(value);
            $(divselectid+" ul").hide();
            
        });
        $(document).click(function(){
            $(divselectid+" ul").hide();
        });
    };
  • 相关阅读:
    Cocos2d-JS V3.10 一个小bug提示
    HTML5骨骼动画Demo | 使用min2d、createjs、pixi播放spine动画
    喜大普奔!Fanvas正式对外开源了,一键把Flash转为Canvas动画!移动终端动画开发不再困难。
    #回馈老读者,晒书拿学习卡#
    【关于新版Cocos2dx/Cocos2d-JS】安装包和使用方式的变化
    好消息!Html5游戏和动画的福音
    nodejs搭配phantomjs highcharts后台生成图表
    【H5动画】谈谈canvas动画的闪烁问题
    【HTTP劫持和DNS劫持】实际JS对抗
    嵌入式开发之网络通信---分布式自组网mesh。OLSR,batman,babel,aodv
  • 原文地址:https://www.cnblogs.com/guaiyutou/p/4154791.html
Copyright © 2011-2022 走看看