zoukankan      html  css  js  c++  java
  • javascript 制作的美化select,利用cookie保存选择

    可以看一下动画

    下面是代码

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <style>
            body{line-height: 40px;font-weight: bold}
            .container{height:40px; 230px;position: relative;
                margin-top:100px;margin-left: 100px; }
            .select{height: 40px; 200px;border-radius: 6px;background: #61b563 ;padding-left: 20px;position: relative;z-index: 2}
            .select span{display: block;float: right;height: 40px ; 40px; background: #4ea655;border-radius: 6px;}
            .select::after{content: ''; 0;height: 0;border: 10px solid transparent;border-top-color: white;position: absolute;
                right: 10px;top: 15px;}
            .select::before{content: '';display: block; 5px;height: 40px;position: absolute;right: 40px;background:linear-gradient(-90deg,#4ea655, #61b563 )}
            .ul{height: 240px; 230px;padding-left: 10px;background:#61b563;border-radius: 6px;margin: 0;position: absolute;top: 40px;z-index: 1;opacity: 0;transition: all 0.8s}
            .ul1{opacity: 1;top: 60px}
            .ul::before{content: ''; 0;height: 0;border: 10px solid transparent;border-bottom-color:#61b563 ;position: absolute;right: 30px;
                top:-20px;}
            .ul li{list-style: none;display: block;height: 30px; 220px;box-sizing: border-box;margin-top:8px;margin-bottom: 5px;;text-indent: 24px ;position: relative;line-height: 30px }
            .ul li:hover{background: #4ea655;transition: all .7s}
        </style>
    </head>
    <body>
        <div class="container">
            <div class="select">
                <a>请选择</a>
                <span></span>
            </div>
            <ul class="ul">
                <li>北京</li>
                <li>上海</li>
                <li>深圳</li>
                <li>广州</li>
                <li>重庆</li>
                <li>西安</li>
            </ul>
        </div>
        <script>
            var container=document.querySelector('.container');
            var select=document.querySelector('.select');
            var ul=document.querySelector('.ul');
            var li=document.querySelectorAll('ul li');
            var text=document.querySelector(".select a");
    
            ul.onclick=function(){
                event.stopPropagation();
            };
            select.onclick=function(){
                event.stopPropagation();
                if(ul.className=="ul"){
                    ul.className+=" ul1"
                    container.style.height='300px';
                }else {ul.className="ul"}
            };
            window.onclick=function(){
                ul.className="ul";
            };
            for(var i=0;i<li.length;i++){
                li[i].p=i;
                li[i].onclick=function(){
                    text.innerText=this.innerText;
                    for(var j=0;j<li.length;j++){
                        li[j].style.background='#61b563';
                        li[j].style.color='black';
                    }
                    var t=new Date('2017-09-09').toUTCString();
                    document.cookie='option='+this.innerText+";expires="+t;
                    document.cookie='index='+this.p+";expires="+t;
                }
            }
            var T1=setInterval(reload,50);
            function reload(){
                var cookies=document.cookie.split(';');
                var c1=cookies[0].split('=');
                var c2=cookies[1].split('=');
                text.innerText=c1[1];
                li[c2[1]].style.color='white';
                li[c2[1]].style.background=' #4ea655';
            }
    
        </script>
    </body>
    </html>
  • 相关阅读:
    Corn Fields 状压动归入门题
    codevs 2800 送外卖 floyd + Tsp
    互不侵犯 状压动归入门题
    跨终端电商平台的实现之手势效果(左右滑动)
    nodejs和树莓派开发以及点亮RGB的LED灯代码
    基于vue-cli搭了一个多页面应用的空脚手架
    About HTML
    【译】遗留浏览器中的表单
    Vue2的右键弹出菜单(vue-contextmenu)
    IMWEB 前端面试题汇总
  • 原文地址:https://www.cnblogs.com/xueandsi/p/5962362.html
Copyright © 2011-2022 走看看