Fckeditor/editor/plugins/dragresizetable/fckplugin.js
(开头部分) 17KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
var FCKDragTableHandler =
{
"_DragState" : 0,
"_LeftCell" : null,
"_RightCell" : null,
"_MouseMoveMode" : 0, // 0 - find candidate cells for resizing, 1 - drag to resize
"_ResizeBar" : null,
"_OriginalX" : null,
"_MinimumX" : null,
"_MaximumX" : null,
"_LastX" : null,
"_TableMap" : null,
"_doc" : document,
"_IsInsideNode" : function( w, domNode, pos )
{
var myCoords = FCKTools.GetWindowPosition( w, domNode ) ;
var xMin = myCoords.x ;
var yMin = myCoords.y ;
var xMax = parseInt( xMin, 10 ) + parseInt( domNode.offsetWidth, 10 ) ;
var yMax = parseInt( yMin, 10 ) + parseInt( domNode.offsetHeight, 10 ) ;
if ( pos.x >= xMin && pos.x <= xMax && pos.y >= yMin && pos.y <= yMax )
return true;
return false;
},
"_GetBorderCells" : function( w, tableNode, tableMap, mouse )
{
// Enumerate all the cells in the table.
var cells = [] ;
for ( var i = 0 ; i < tableNode.rows.length ; i++ )
{
var r = tableNode.rows[i] ;
for ( var j = 0 ; j < r.cells.length ; j++ )
cells.push( r.cells[j] ) ;
}
if ( cells.length < 1 )
return null ;
// Get the cells whose right or left border is nearest to the mouse cursor's x coordinate.
var minRxDist = null ;
var lxDist = null ;
var minYDist = null ;
var rbCell = null ;
var lbCell = null ;
for ( var i = 0 ; i < cells.length ; i++ )
{
var pos = FCKTools.GetWindowPosition( w, cells[i] ) ;
var rightX = pos.x + parseInt( cells[i].clientWidth, 10 ) ;
var rxDist = mouse.x - rightX ;
var yDist = mouse.y - ( pos.y + ( cells[i].clientHeight / 2 ) ) ;
if ( minRxDist == null ||
( Math.abs( rxDist ) <= Math.abs( minRxDist ) &&
( minYDist == null || Math.abs( yDist ) <= Math.abs( minYDist ) ) ) )
{
minRxDist = rxDist ;
minYDist = yDist ;
rbCell = cells[i] ;
}
}
/*
后面还有 464 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
