zoukankan      html  css  js  c++  java
  • js表格拖拽

    html部分

    <div id="chenkbox">
    <div id="tableSort">
        <ol>
              <li> 序列 </li>
              <li> 名称 </li>
              <li> 数量 </li>
              <li> 单价(Q点) </li>
              <li> 总计(Q点) </li>
         </ol>
        <ul>
              <li>1</li>
              <li>农场话费A</li>
              <li>2</li>
              <li>50</li>
              <li>100</li>
            </ul>
        <ul>
              <li>2</li>
              <li>飞车道具C</li>
              <li>1</li>
              <li>80</li>
              <li>80</li>
            </ul>
        <ul>
              <li>3</li>
              <li>空间K</li>
              <li>1</li>
              <li>120</li>
              <li>120</li>
            </ul>
        <ul>
              <li>4</li>
              <li>农场狗粮C</li>
              <li>4</li>
              <li>60</li>
              <li>240</li>
            </ul>
        <ul>
              <li>5</li>
              <li>音速种子</li>
              <li>2</li>
              <li>110</li>
              <li>220</li>
            </ul>
        <ul>
              <li>6</li>
              <li>农场化肥D</li>
              <li>5</li>
              <li>60</li>
              <li>300</li>
            </ul>
        <ul>
              <li>7</li>
              <li>AVA装扮C</li>
              <li>1</li>
              <li>300</li>
              <li>300</li>
            </ul>
        <ul>
              <li>8</li>
              <li>三国道具C</li>
              <li>15</li>
              <li>60</li>
              <li>900</li>
            </ul>
        <ul>
              <li>9</li>
              <li>DNF道具B</li>
              <li>4</li>
              <li>300</li>
              <li>1200</li>
            </ul>
        <ul>
              <li>10</li>
              <li>农场化肥H</li>
              <li>6</li>
              <li>80</li>
              <li>120</li>
            </ul>
        <ul>
              <li>11</li>
              <li>农场化肥B</li>
              <li>1</li>
              <li>80</li>
              <li>80</li>
            </ul>
        <ul>
              <li>12</li>
              <li>Q宠元宝</li>
              <li>100</li>
              <li>1</li>
              <li>100</li>
            </ul>
        <ul>
              <li>13</li>
              <li>三国道具K</li>
              <li>9</li>
              <li>20</li>
              <li>180</li>
            </ul>
    
    
     <div id="box"></div>
      </div>
    </div>

    css部分

    * {
        margin: 0;
        padding: 0;
    }
    body {
        font-family: "microsoft yahei";
        background-color: #eee;
        user-select: none;
    }
    #chenkbox {
        margin: 100px auto;
        width: 800px;
        position: relative;
    
        
    }
    #tableSort{
        border-right:#0066cc 1px solid;
        border-bottom: #0066cc 1px solid;
        height: 434px;
    }
    
    li{
        list-style: none;
    }
    #box {
        position: absolute;
        display: none;
        background: #fff;
        text-align: center;
        top: 0;
        background-color: #000;
        background-color: rgba(0,0,0,0.8);
        color: #fff;
        height: 100%;
        cursor: move;
    }
    #box p {
        line-height: 2;
    }
    #chenkbox ol{
        height: 30px;
        line-height: 30px;
    }
    #chenkbox ul{
        width: 100%;
        height: 30px;
        cursor: move;
        line-height: 30px;
        
    }
    #chenkbox li{
        width: 19.87%;
        float: left;
        
        border-top: #0066cc 1px solid;
       border-left: #0066cc 1px solid;
       text-align: center;
    
    }

    js部分

    var ochek=document.getElementById("chenkbox");
        var ul=document.getElementsByTagName('ul');
         var  box=document.getElementById("box");
         var arr=[];
        for(var i=0;i<ul.length;i++){
            ul[i].onmousedown=function(){
               var e=e||window.event;
               var w=this.offsetWidth;
               var h=this.offsetHeight;
               var t=ochek.offsetTop;
               var st=this.offsetTop;
               var ss=this.innerHTML;
                 _this=this;//鼠标按下时的ul
               box.innerHTML=ss;
               box.style.display="block";
               box.style.width=w+"px";
               box.style.height=h+"px";
               box.style.top=st+"px";
              for(var j=0;j<ul.length;j++){
                      arr.push(ul[j].offsetTop);//所有行的top值
              }
               document.onmousemove=function(e){
                          var e=e||window.event;
                          box.style.top=e.clientY-t+"px";  //移动时的top值 
                      }
                       document.onmouseup=function(e){
                         var e=e||window.event;
                         var index='';
                          for(var j=0;j<arr.length;j++){
                              if(arr[j]<e.clientY-t){//得到当移动的top值大于ul的top值时的i
                                  index=j;  
                              }
                          }  
                         _this.innerHTML=ul[index].innerHTML;//鼠标按下时的ul的innerHTML等于移动到的ul的innerHTML
                         ul[index].innerHTML= box.innerHTML;//移动到的ul的innerHTML等于box中的innerHTML
                         arr.splice(0,arr.length);//清空数组
                          box.style.display="none";
                         box.innerHTML='';    
                         ul[i].onmousedown=null;
                         document.onmousemove=null;
    
                      }
            }
        }

  • 相关阅读:
    jqueryeasyui中创建复杂布局
    内表查询用到外表
    某人对为什么不搞.net,不搞web的原因
    眼睛痛的一些原因
    控件包含代码块(即 <% ... %>),因此无法修改控件集合(用户自定义控件中)
    明天留着看
    SqlServer 数据归档
    从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。
    生成sql 脚本没有索引
    sqlserver 时间间隔
  • 原文地址:https://www.cnblogs.com/aSnow/p/8808210.html
Copyright © 2011-2022 走看看