zoukankan      html  css  js  c++  java
  • dom 按着shift多选

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    
    <style>
    body { margin: 0; padding: 0; }
    ul { padding: 0; margin: 0; }
    li { list-style: none; }
    a { text-decoration: none; color: #000; display: block; }
    #div1 {  250px; height: 20px; border: 1px solid #fe6601; padding: 5px; line-height:20px; margin: 20px auto 0 auto;}
    #ul1 { margin: 0 auto;  260px; line-height: 20px; border: 1px solid #fe6601; display: none;}
    #ul1 li a { padding: 5px; }
    #ul1 li a:hover { background: #fe6601; color: #fff; }
    </style>
    <script type="text/javascript">
    window.onload = function ()
    {
        var odiv = document.getElementById('div1');
        var oul = document.getElementById('ul1');
        var arr = [];
        
        odiv.onclick = function (ev)
        {
            var ev = ev || event;
            ev.cancelBubble = true;
            oul.style.display = 'block';
        }
        
        for( var i = 0; i < oul.children.length; i++)
        {
            oul.children[i].onclick = function (ev)
            {
                var ev = ev || event;
                if(ev.shiftKey)
                {
                    ev.cancelBubble = 'true';
                }
                
                for(var i = 0; i < arr.length; i++)
                {
                    if(this.children[0].innerHTML == arr[i])
                    {
                        arr.splice(i,1);
                        odiv.innerHTML = arr.join(',');
                        bgcolor();
                        return;
                    }
                }
                arr.push ( this.children[0].innerHTML);
                odiv.innerHTML = arr.join(',');
                bgcolor();
                
                function bgcolor ()
                {
                    for(var i = 0; i < oul.children.length; i++)
                    {
                        oul.children[i].children[0].style.background = '';
                        oul.children[i].children[0].style.color = '';
                    }
                    
                    var arr1 = odiv.innerHTML.split(',');
                    for(var i = 0; i < arr1.length; i++)
                    {
                        for(var j = 0; j < oul.children.length ; j++)
                        {
                            if(oul.children[j].children[0].innerHTML == arr1[i])
                            {
                                oul.children[j].children[0].style.background = '#fe6601';
                                oul.children[j].children[0].style.color = '#fff';
                            }
                        }
                    }
                }
            }
        }
        
        document.onclick = function ()
        {
            oul.style.display = 'none';
            arr = [];
        }
    };
    </script>
    </head>
    
    <body>
        <div id="div1">按住shift多</div>
        <ul id="ul1">
            <li><a href="javascript:;">宋体</a></li>
            <li><a href="javascript:;">黑体</a></li>
            <li><a href="javascript:;">楷体</a></li>
            <li><a href="javascript:;">微软雅黑</a></li>
            <li><a href="javascript:;">新宋体</a></li>
            <li><a href="javascript:;">仿宋</a></li>
        </ul>
    </body>
    </html>
  • 相关阅读:
    jquery操作iframe
    KindEditor编辑器——在上传图片中选一张为焦点图片
    js查看浏览器类型和版本
    ASP.Net防止页面刷新重复提交
    js获取url参数
    sql游标简单试用
    jQuery跨域
    两款实用免积分下载工具,支持百度文库、豆丁网等
    Asp.Net 无法解析此远程名称"www.xxx.com"
    android中使用DisplayMetrics获取屏幕参数
  • 原文地址:https://www.cnblogs.com/mayufo/p/4229155.html
Copyright © 2011-2022 走看看