Changeset 13352

Show
Ignore:
Timestamp:
06/07/08 04:45:51 (5 years ago)
Author:
dankogai
Message:

makes DOM resizable

Location:
lang/javascript/DOM.resize
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/DOM.resize/resize.html

    r13349 r13352  
    1414</div> 
    1515 
    16 <div class="resizable" style="min-width:100;min-height:100;width:400;height:200;"> 
     16<div class="resizable" style="min-width:100;min-height:100;width:400;height:200;padding:20"> 
    1717<pre style="margin:1em"> 
    1818min-width:100; 
  • lang/javascript/DOM.resize/resize.js

    r13351 r13352  
    3737var start_resize = function(){     
    3838    var parent = this.parentNode; 
    39     var cx = parseInt(this.style.width) >> 1; 
    40     var cy = parseInt(this.style.height) >> 1; 
    41     var mx = parseInt(this.style.minWidth)  || cx * 4; 
    42     var my = parseInt(this.style.minHeight) || cy * 4; 
     39    var cx = parseInt(parent.style.paddingRight) >> 1; 
     40    var cy = parseInt(parent.style.paddingBottom) >> 1; 
     41    var mx = parseInt(parent.style.minWidth)  || cx * 4; 
     42    var my = parseInt(parent.style.minHeight) || cy * 4; 
    4343    mousemove = function(evt){ 
    44         var x = (evt.offsetX || evt.layerX) + cx; 
     44        var x = (evt.offsetX || evt.layerX) - cx; 
    4545        if (isNaN(x) || x < mx) return; 
    46         var y = (evt.offsetY || evt.layerY) + cy; 
     46        var y = (evt.offsetY || evt.layerY) - cy; 
    4747        if (isNaN(y) || y < my) return; 
    4848        parent.style.width  = x; 
     
    8888        elem.style.border = 'outset 1px'; 
    8989        if (!elem.style.position) elem.style.position = 'relative'; 
    90         if (!elem.style.paddingRight) elem.style.paddingRight = rstyle.width; 
    91         if (!elem.style.paddingBottom) elem.style.paddingBottom = rstyle.height;         
     90        if (!elem.style.paddingRight) 
     91            elem.style.paddingRight = elem.style.padding || rstyle.width; 
     92        if (!elem.style.paddingBottom)  
     93            elem.style.paddingBottom = elem.style.padding || rstyle.height;         
    9294        var resizer = document.createElement('div'); 
    9395        for (var p in rstyle) resizer.style[p] = rstyle[p];