我創建了以下功能(與波多黎各StCruz天才要比jQuery的中轉插件使用):集成在Fn功能的各種屬性
$.fn.translateLeftTop = function(left, top, duration, easing) {
var $this = $(this);
var currentLeftPx = parseInt($this.css('left'));
var currentTopPx = parseInt($this.css('top'));
var parentWidth = $this.parent().width();
var parentHeight = $this.parent().height();
// final left layout destination in px
var finalLeftPx = parentWidth/100 * left;
var finalTopPx = parentHeight/100 * top;
// actual distances to final left/top layout destination in px
var distanceLeftPx = currentLeftPx - finalLeftPx;
var distanceTopPx = currentTopPx - finalTopPx;
$this.transition({ x: -distanceLeftPx, y: -distanceTopPx }, duration, easing, function() {
$this.stop(true).css({ left: left +'%', top: top +'%', x: 0, y: 0 });
});
}
我反而喜歡用它如下:
$("#element").translateLeftTop({ left: '5%', top: '5%' }, 500, 'easeOutSine')
,並保持開放的羯羊兩個值或僅由一個代碼,這樣也
$("#element").translateLeftTop({ left: '5%' }, 500, 'easeOutSine')
或
$("#element").translateLeftTop({ top: '5%' }, 500, 'easeOutSine')
可以使用。