我寫了這個功能,通過一選定角歸納我的功能
function RelativeCornerResizer(Elements , StartSize , EndSize , Unit , Left , Top)
{
//var I = StartSize ;
var SSpx = "" , LeftPx="" , TopPx="";
LeftPx = (Left)+Unit;
TopPx = (Top)+Unit;
if(StartSize < EndSize)
{
StartSize+=2;
SSpx = StartSize+Unit;
if(Left!=0) LeftPx = (Left-StartSize)+Unit;
if(Top!=0) TopPx = (Top-StartSize)+Unit;
$(Elements).css({'width': SSpx,'height': SSpx});
$(Elements).css({'left' : LeftPx , 'top' : TopPx});
setTimeout(function(){RelativeCornerResizer(Elements , StartSize , EndSize , Unit , Left , Top)},1);
}
}
調整的元素現在這種調整隻有很少的元素,以更大的人,我想將它推廣到從大調整大小小,所以:
如果我的StartSize大於EndSize --->以小搏大 別的--->從小到大
一個簡單的,如果其他人可以從較小的變化環路往大了從小到大[... ]
有沒有一種方法不引入另一個參數的功能?
我修改由馬庫斯提出的解決方案,它的作品,但我還是不滿意......
function RelativeCornerResizer(Elements , StartSize , EndSize , Unit , Left , Top)
{
var SSpx = "" , LeftPx = "" , TopPx = "", Direction = StartSize < EndSize , Condition ;
LeftPx = (Left) + Unit;
TopPx = (Top) + Unit;
if (Direction)
{ StartSize+=2;
Condition = StartSize < EndSize ;
}
else
{ StartSize-=2;
Condition = StartSize > EndSize ;
}
SSpx = (StartSize) + Unit;
LeftDiff = Direction ? Left - StartSize : Left + StartSize;
TopDiff = Direction ? Top - StartSize : Top + StartSize;
if(Left!=0) LeftPx = (LeftDiff) + Unit;
if(Top!=0) TopPx = (TopDiff) + Unit;
$(Elements).css({'width': SSpx,'height': SSpx, 'left' : LeftPx , 'top' : TopPx});
if(Condition)
setTimeout(function(){RelativeCornerResizer(Elements , StartSize , EndSize , Unit , Left , Top)},1);
}
*「但我還是不滿意」* - 什麼?這意味着你的問題沒有明確的問題描述。順便說一句,「推廣我的功能」並不是真正的問題。 – 2014-11-09 09:26:33