JavaScript 拖拉缩放效果
2010-09-14 13:27:46 来源:WEB开发网_fixLeft:左转后的定位需要_fixLeft,设置为_styleLeft,本来是left加width的,由于左转时width是0,所以只要left就够了。
如果设置了最大范围限制,还需要设置一下范围参数,为了方便,程序使用了一个_mxSet方法重新设置范围参数。
程序如下:
if(!(this.Min||this._styleWidth)){
this._fun=fun;
this._sideRight=this._sideLeft;
this._fixLeft=this._styleLeft;
this.Max&&this._mxSet();
returntrue;
}
如果发生了转向就返回true,这个主要是用在对角方向的转向。
对于对角方向,可能会转向两个方向,但只能同一时间设置一个转向,例如对于RightDown转向可以这样:
this.TurnLeft(this.LeftDown) || this.TurnUp(this.RightUp);
这样就可以保证只会执行一个转向。
【样式修正】
由于offset获取的值跟style设置的值并不是一样的,例如offsetWidth包括padding、border和width。
所以在获取和设置时必须做一些修正,例如用offsetWidth获取宽度,要设置width时必须减去padding和border等等。
程序中有_borderX和_borderY属性分别是缩放对象的左右和上下边框宽度:
var _style = CurrentStyle(this._obj);
this._borderX = (parseInt(_style.borderLeftWidth) || 0) + (parseInt(_style.borderRightWidth) || 0);
this._borderY = (parseInt(_style.borderTopWidth) || 0) + (parseInt(_style.borderBottomWidth) || 0);
程序中主要是修正了border,对于padding、margin都没有考虑,如果设置了这些属性的要注意一下哦。
Tags:JavaScript 拖拉 缩放
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接