zoukankan      html  css  js  c++  java
  • module06-3-后台管理平台

    目录结构


    后台管理平台
    ├ font-awesome-4.7.0
    | ├ css
    | ├ fonts
    | ├ less
    | └ scss
    ├ jquery-1.12.4.min.js
    └ 可编辑表格.html
    

    code


      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8">
      5     <title>Title</title>
      6     <link rel="stylesheet" href="font-awesome-4.7.0/css/font-awesome.min.css">
      7     <style>
      8         table{
      9             table-layout: fixed;
     10         }
     11         tr{
     12             text-align:center;
     13             line-height:20px;
     14             height:20px;
     15         }
     16         td{
     17             overflow: hidden;
     18         }
     19         #edit-toggle{
     20             display:inline-block;
     21             padding:5px 20px;
     22             margin-left:50px;
     23             text-align: center;
     24             background-color: #6a769e;
     25             border-radius: 20px;
     26             color:white;
     27             font-size: 14px;
     28 
     29         }
     30         #edit-toggle:hover , .on{
     31             opacity:0.6;
     32             cursor:pointer;
     33         }
     34         .edit-box{
     35             display:block;
     36             width:100px;
     37             height:20px;
     38             border:none;
     39             padding:0;
     40             text-align: center;
     41             line-height: 20px;
     42         }
     43         .prompt-box{
     44             position:fixed;
     45             left:350px;
     46             top:100px;
     47             background-color: #119911;
     48             padding:5px 10px;
     49             border-radius: 10px;
     50             font-size: 12px;
     51             color:white;
     52         }
     53 
     54     </style>
     55 
     56 </head>
     57 <body>
     58 
     59     <p>
     60         <input type="button" value="全选" id="selectAll">
     61         <input type="button" value="反选" id="reverseAll">
     62         <input type="button" value="取消" id="cancelAll">
     63 
     64         <span id="edit-toggle">进入编辑模式</span>
     65 
     66     </p>
     67 
     68     <table border="1" cellspacing="0" width="300">
     69         <thead>
     70             <tr>
     71                 <td width="50">选择</td>
     72                 <td width="100">主机名</td>
     73                 <td width="100">端口</td>
     74                 <td width="50">状态</td>
     75             </tr>
     76         </thead>
     77 
     78         <tbody id="tb">
     79             <tr>
     80                 <td>
     81                     <input type="checkbox">
     82                 </td>
     83                 <td target="ip">1.1.1.1</td>
     84                 <td target="port">80</td>
     85                 <td target="status">下线</td>
     86             </tr>
     87 
     88             <tr>
     89                 <td>
     90                     <input type="checkbox">
     91                 </td>
     92                 <td target="ip">1.1.1.2</td>
     93                 <td target="port">80</td>
     94                 <td target="status">下线</td>
     95             </tr>
     96 
     97             <tr>
     98                 <td>
     99                     <input type="checkbox">
    100                 </td>
    101                 <td target="ip">1.1.1.3</td>
    102                 <td target="port">80</td>
    103                 <td target="status">下线</td>
    104             </tr>
    105 
    106             <tr>
    107                 <td>
    108                     <input type="checkbox">
    109                 </td>
    110                 <td target="ip">1.1.1.4</td>
    111                 <td target="port">80</td>
    112                 <td target="status">下线</td>
    113             </tr>
    114 
    115             <tr>
    116                 <td colspan="4">
    117                     <i class="fa fa-plus-circle" aria-hidden="true" id="add"></i>
    118                 </td>
    119             </tr>
    120 
    121         </tbody>
    122 
    123     </table>
    124 
    125 
    126     <script src="jquery-1.12.4.min.js"></script>
    127     <script>
    128         $(function () {
    129 //            点击全选按钮触发 全选 事件
    130             $('#selectAll').click(function () {
    131                 $('#tb :checkbox').prop('checked',true);
    132             });
    133 
    134 //            点击反选按钮触发 反选 事件
    135             $('#reverseAll').click(function () {
    136                 $('#tb :checkbox').each(function () {
    137                     var status = $(this).prop('checked');
    138                     $(this).prop('checked',!status);
    139                 })
    140             });
    141 
    142 //            点击取消按钮触发 取消选择 事件
    143             $('#cancelAll').click(function () {
    144                 $('#tb :checkbox').prop('checked',false);
    145             });
    146 
    147 //            点击 进入编辑模式 按钮触发 进入编辑/退出编辑 事件
    148             $('#edit-toggle').click(function () {
    149 
    150                 if($(this).hasClass('on')){
    151                     $(this).removeClass('on');
    152                     $(this).text('进入编辑模式');
    153                     ShowPrompt('已退出编辑模式');
    154                     editOff($('#tb :checked'))
    155                 }else{
    156                     $(this).addClass('on');
    157                     $(this).text('退出编辑模式');
    158                     ShowPrompt('已进入编辑模式');
    159                     editOn($('#tb :checked'))
    160                 }
    161 
    162             });
    163 
    164 //            编辑模式下, 更改复选框的选中状态 触发 进入编辑/退出编辑 事件
    165             $('#tb').delegate(':checkbox','change',function () {
    166                 if ($('#edit-toggle').hasClass('on')) {
    167                     if ($(this).prop('checked')) {
    168                         editOn($(this));
    169                     } else {
    170                         editOff($(this));
    171                     }
    172                 }
    173             });
    174 
    175 //            函数:显示 进入/退出编辑模式 的提示框
    176             function ShowPrompt(text){
    177                 var promptBox = document.createElement('div');
    178                 promptBox.classList.add('prompt-box');
    179                 promptBox.innerText = text;
    180                 $('body').append(promptBox);
    181                 var opacity = 1;
    182                 var timer = setTimeout(function () {
    183                     setInterval(function () {
    184                         opacity -= 0.05;
    185                         $(promptBox).css('opacity',opacity);
    186                     },50);
    187                     if(opacity<0){
    188                         clearInterval(timer);
    189                         promptBox.remove();
    190                     }
    191                 },1000)
    192             }
    193 
    194 //            函数:进入 编辑模式
    195             function editOn(obj) {
    196 //                ip 和 port 单元格变成可输入
    197                 obj.parent().siblings('[target="ip"],[target="port"]').each(function () {
    198                     var input = document.createElement('input');
    199                     input.value = $(this).text();
    200                     input.className = 'edit-box';
    201                     $(this).html('');
    202                     $(this).append(input);
    203                 });
    204 
    205 //                状态 单元格变成可输入
    206                 obj.parent().siblings('[target="status"]').each(function () {
    207                     var d = {
    208                         '在线':'0',
    209                         '下线':'1'
    210                     };
    211                     var selectBox = document.createElement('select');
    212                     var option0 = document.createElement('option');
    213                     option0.innerText = '在线';
    214                     option0.value = 0;
    215                     var option1 = document.createElement('option');
    216                     option1.innerText = '下线';
    217                     option1.value = 1;
    218                     selectBox.appendChild(option0);
    219                     selectBox.appendChild(option1);
    220                     selectBox.value = d[$(this).text()];
    221                     $(this).html('');
    222                     $(this).append(selectBox);
    223                 });
    224             }
    225 
    226 //            函数:退出 编辑模式
    227             function editOff(obj) {
    228                 obj.parent().siblings('[target="ip"],[target="port"]').each(function () {
    229                     $(this).text($(this).children('input').val());
    230                 });
    231 
    232                 obj.parent().siblings('[target="status"]').each(function () {
    233                     var d={
    234                       '0':'在线',
    235                       '1':'下线'
    236                     };
    237                     $(this).text(d[$(this).children('select').val()]);
    238                 });
    239             }
    240 
    241 //            点击 添加按钮 触发添加项目事件
    242             $('#add').click(function () {
    243                 var tr = '<tr><td><input type="checkbox"></td><td target="ip"></td><td target="port"></td><td target="status">下线</td></tr>';
    244                 $(this).parent().parent().before(tr);
    245             })
    246 
    247 
    248         })
    249 
    250 
    251 
    252 
    253     </script>
    254 
    255 </body>
    256 </html>
    可编辑表格.html
  • 相关阅读:
    算法总结之 自然数组的排序
    算法总结之 计算数组最小和
    算法总结之 未排序数组中累加和小于或等于给定值的最长子数组长度
    算法总结之 未排序数组中累加和为给定值的最长子数组系列问题
    wget镜像网站并且下载到指定目录 2012-06-20 19:40:56
    用wget做站点镜像
    【亲测好用!】shell批量采集百度下拉框关键词
    网站发的文章有收录 但是没有排名怎么处理
    NGINX + LUA实现复杂的控制
    Linux下php安装Redis扩展
  • 原文地址:https://www.cnblogs.com/jailly/p/7766358.html
Copyright © 2011-2022 走看看