天天看點

用Table簡單實作Grid中的拖動效果

 網上有很多網友提供此功能,但是大部分都是封裝到類裡的,一些剛入門或對JS不甚了解的朋友就隻能引用别人的東西,想改一下又怕出錯,現在提供一個超簡單的示例:

用Table簡單實作Grid中的拖動效果

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

用Table簡單實作Grid中的拖動效果

< HTML >

用Table簡單實作Grid中的拖動效果

< HEAD >

用Table簡單實作Grid中的拖動效果

< TITLE >  New Document  </ TITLE >

用Table簡單實作Grid中的拖動效果

< META  NAME ="Generator"  CONTENT ="EditPlus" >

用Table簡單實作Grid中的拖動效果

< META  NAME ="Author"  CONTENT ="" >

用Table簡單實作Grid中的拖動效果

< META  NAME ="Keywords"  CONTENT ="" >

用Table簡單實作Grid中的拖動效果

< META  NAME ="Description"  CONTENT ="" >

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

< style > ...

用Table簡單實作Grid中的拖動效果

table

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

{...}{

用Table簡單實作Grid中的拖動效果

    background-color:#808080;

用Table簡單實作Grid中的拖動效果

    font-size:12px; line-height:20px;

用Table簡單實作Grid中的拖動效果

    table-layout:fixed;

用Table簡單實作Grid中的拖動效果

}

用Table簡單實作Grid中的拖動效果

td

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

{...}{

用Table簡單實作Grid中的拖動效果

    background-color:#fff;

用Table簡單實作Grid中的拖動效果

}

用Table簡單實作Grid中的拖動效果

.tit

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

{...}{

用Table簡單實作Grid中的拖動效果

    border-left:1px solid #fff;

用Table簡單實作Grid中的拖動效果

    border-top:1px solid #fff;

用Table簡單實作Grid中的拖動效果

    background-color:#d6d3ce;

用Table簡單實作Grid中的拖動效果

    text-align:center;

用Table簡單實作Grid中的拖動效果

    clear:both;

用Table簡單實作Grid中的拖動效果

}

用Table簡單實作Grid中的拖動效果

.mover

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

{...}{

用Table簡單實作Grid中的拖動效果

    float:right;

用Table簡單實作Grid中的拖動效果

    overflow:hidden;

用Table簡單實作Grid中的拖動效果

    width:5px; height:100%;

用Table簡單實作Grid中的拖動效果

    cursor:col-resize;

用Table簡單實作Grid中的拖動效果

}

用Table簡單實作Grid中的拖動效果

.lable

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

{...}{

用Table簡單實作Grid中的拖動效果

    float:left;

用Table簡單實作Grid中的拖動效果

    margin-left:2px;

用Table簡單實作Grid中的拖動效果

}

用Table簡單實作Grid中的拖動效果

</ style >

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

< script  language ="javascript" > ...

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

    function gridMousedown(obj,e) ...{

用Table簡單實作Grid中的拖動效果

        var defaultWidth = obj.offsetWidth;

用Table簡單實作Grid中的拖動效果

        var defaultLeft = e.clientX;

用Table簡單實作Grid中的拖動效果

        var handleObj = obj;

用Table簡單實作Grid中的拖動效果

        if (!obj.initWidth) obj.initWidth = obj.offsetWidth;

用Table簡單實作Grid中的拖動效果

        document.onmousemove = function ()

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

        ...{

用Table簡單實作Grid中的拖動效果

            var initWidth = handleObj.initWidth;

用Table簡單實作Grid中的拖動效果

            var newWidth = defaultWidth + (e.clientX-defaultLeft);

用Table簡單實作Grid中的拖動效果

            newWidth = newWidth<initWidth?initWidth:newWidth;

用Table簡單實作Grid中的拖動效果

            handleObj.width = newWidth;

用Table簡單實作Grid中的拖動效果

        };

用Table簡單實作Grid中的拖動效果

        document.onmouseup = function ()

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

        ...{

用Table簡單實作Grid中的拖動效果

            document.onselectstart = document.onmousemove = document.onmouseup = null;

用Table簡單實作Grid中的拖動效果

        };

用Table簡單實作Grid中的拖動效果

        document.onselectstart = function ()

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

        ...{

用Table簡單實作Grid中的拖動效果

            return false;

用Table簡單實作Grid中的拖動效果

        };

用Table簡單實作Grid中的拖動效果

    }

用Table簡單實作Grid中的拖動效果

</ script >

用Table簡單實作Grid中的拖動效果

</ HEAD >

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

< BODY >

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

< table  cellspacing ="1"  cellpadding ="0"  border ="0" >

用Table簡單實作Grid中的拖動效果

     < tr >

用Table簡單實作Grid中的拖動效果

         < td  width ="50"  class ="tit" >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="mover"  onmousedown ="gridMousedown(this.parentNode, event)" ></ div >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="lable" > 标題1 </ div >             

用Table簡單實作Grid中的拖動效果

         </ td >

用Table簡單實作Grid中的拖動效果

         < td  width ="50"  class ="tit" >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="mover"  onmousedown ="gridMousedown(this.parentNode, event)" ></ div >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="lable" > 标題2 </ div >             

用Table簡單實作Grid中的拖動效果

         </ td >

用Table簡單實作Grid中的拖動效果

         < td  width ="90"  class ="tit" >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="mover"  onmousedown ="gridMousedown(this.parentNode, event)" ></ div >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="lable" > 标題3 </ div >             

用Table簡單實作Grid中的拖動效果

         </ td >

用Table簡單實作Grid中的拖動效果

         < td  width ="50"  class ="tit" >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="mover"  onmousedown ="gridMousedown(this.parentNode, event)" ></ div >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="lable" > 标題4 </ div >             

用Table簡單實作Grid中的拖動效果

         </ td >

用Table簡單實作Grid中的拖動效果

         < td  width ="50"  class ="tit" >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="mover"  onmousedown ="gridMousedown(this.parentNode, event)" ></ div >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="lable" > 标題5 </ div >             

用Table簡單實作Grid中的拖動效果

         </ td >

用Table簡單實作Grid中的拖動效果

         < td  width ="80"  class ="tit" >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="mover"  onmousedown ="gridMousedown(this.parentNode, event)" ></ div >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="lable" > 标題6 </ div >             

用Table簡單實作Grid中的拖動效果

         </ td >

用Table簡單實作Grid中的拖動效果

         < td  width ="50"  class ="tit" >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="mover"  onmousedown ="gridMousedown(this.parentNode, event)" ></ div >                 

用Table簡單實作Grid中的拖動效果

             < div  class ="lable" > 标題7 </ div >

用Table簡單實作Grid中的拖動效果

         </ td >

用Table簡單實作Grid中的拖動效果

     </ tr >

用Table簡單實作Grid中的拖動效果

     < tr >< td > aaa </ td >< td > aaa </ td >< td > aaa </ td >< td > aaa </ td >< td > aaa </ td >< td > aaa </ td >< td > aaa </ td ></ tr >

用Table簡單實作Grid中的拖動效果

     < tr >< td > bbb </ td >< td > bbb </ td >< td > bbb </ td >< td > bbb </ td >< td > bbb </ td >< td > bbb </ td >< td > bbb </ td ></ tr >

用Table簡單實作Grid中的拖動效果

     < tr >< td > ccc </ td >< td > ccc </ td >< td > ccc </ td >< td > ccc </ td >< td > ccc </ td >< td > ccc </ td >< td > ccc </ td ></ tr >

用Table簡單實作Grid中的拖動效果

     < tr >< td > ddd </ td >< td > ddd </ td >< td > ddd </ td >< td > ddd </ td >< td > ddd </ td >< td > ddd </ td >< td > ddd </ td ></ tr >

用Table簡單實作Grid中的拖動效果

</ table >

用Table簡單實作Grid中的拖動效果
用Table簡單實作Grid中的拖動效果

</ BODY >

用Table簡單實作Grid中的拖動效果

</ HTML >

用Table簡單實作Grid中的拖動效果

繼續閱讀