zoukankan      html  css  js  c++  java
  • ui、li模拟下拉框

    转载:原文地址:https://www.jianshu.com/p/e303e0298e9e

    效果图:

    HTML:

     <div class="rank_top">

        <div class="rank_top_1">
          <ul class="rank_top_1_ul">
            <li><span>请选择员工</span> <i><img src="箭头.png"></i></li>
            <li><img src="a1.jpg">111111</li>
            <li><img src="a1.jpg">22222</li>
            <li><img src="a1.jpg">3333</li>
            <li><img src="a1.jpg">44444</li>
            <li><img src="a1.jpg">55555</li>
            <li><img src="a1.jpg">666666</li>
          </ul>
        </div>
      </div>

    CSS:

    <style type="text/css">
      .rank_top_1_ul{
         300px;
        height: 50px;
        display: block;
        float: left;
        margin-top: 20px;
        margin-left: 50px;
      }

      .rank_top_1_ul li {
        display: block;
        line-height: 50px;
        height: 50px;
         300px;
        background-color: greenyellow;
        color: black;
        text-align: center;

      }
      .rank_top_1_ul li img{
        height: 100%;
        margin-left: 0px;
        left: 0px;
        float: left;
      }

      .rank_top_1_ul li i img{
        height: 100%;
        margin-left: 0px;
        left: 0px;
        float: right;
        transform: rotate(0deg);
      }

      .rank_top_1_ul li:not(:first-child){
        display: none;
      }
      .rank_top_1_ul li:not(:first-child):hover{
        background-color: grey;
        color: white;
      }
    </style>

    JS:

    <script type="text/javascript" >
    window.onload=function(){
    // 选择员工点击事件
    var $staffSelectt_Ul_li = document.querySelectorAll(".rank_top_1_ul li");

    $staffSelectt_Ul_li[0].onclick = function(){
    //获取小箭头对象
    var $imgLabel = document.querySelector(".rank_top_1_ul li:first-child img");
    //获取下标为 2 的li标签的display 状态,如果是 block ,说明 li 标签已经显示了
    //所以点击事件, 执行的是 关闭 li 标签列表的功能。 反之亦然
    var $tempFlag = $staffSelectt_Ul_li[1].style.display;
    if($tempFlag ==="block" ){
    // 小箭头旋转,回位
    $imgLabel.style.transform = 'rotate(0deg)';
    for(var $i=1;$i<$staffSelectt_Ul_li.length;$i++){
    $staffSelectt_Ul_li[$i].style.display = "none";
    }
    }else{
    // 小箭头旋转,90du
    $imgLabel.style.transform = 'rotate(-90deg)';

    for(var $i=1;$i<$staffSelectt_Ul_li.length;$i++){
    $staffSelectt_Ul_li[$i].style.display = "block";
    }
    }
    //给每个li对象都添加一个点击事件

    for(var $i=1;$i<$staffSelectt_Ul_li.length;$i++){
    $staffSelectt_Ul_li[$i].onclick=function(){
    //将点击li 的文字赋 给第一个li
    $staffSelectt_Ul_li[0].firstChild.innerText = this.innerText;
    // 关闭所有的 li(除了第一个)
    for(var $i=1;$i<$staffSelectt_Ul_li.length;$i++){
    $staffSelectt_Ul_li[$i].style.display = "none";
    }
    // 小箭头旋转,归位
    $imgLabel.style.transform = 'rotate(0deg)';
    }
    }
    }
    };

    如有问题,欢迎留言!

  • 相关阅读:
    (转)搜索Maven仓库 获取 groupid artifactId
    idea自用快捷键(非常实用)
    (2)一起来看下使用mybatis框架的insert语句的源码执行流程吧
    (1)复习jdbc操作,编译mybatis源码,准备为你的简历加分吧
    关于CPU核心,线程,进程,并发,并行,及java线程之间的关系
    数组排序
    泛型类、泛型方法、类型通配符的使用
    数组的三种声明方式总结、多维数组的遍历、Arrays类的常用方法总结
    Java基本数据类型总结、类型转换、常量的声明规范,final关键字的用法
    JAVA基础语法——标识符、修饰符、关键字(个人整理总结)
  • 原文地址:https://www.cnblogs.com/ZbsCc/p/11444878.html
Copyright © 2011-2022 走看看