以下代碼完美地工作,但我想用更高效的方式更改.animate效果。我不想讓css轉型,但是卻沒有展現出運動的動作。我需要「立即」這樣做。不帶動畫的移動div
$(document).on("click",".box",function(){
var transparent = $(".transparent");
var transparent_left = transparent.offset().left;
var transparent_top = transparent.offset().top;
var box = $(this);
var width = parseInt(box.outerWidth());
var this_top = box.offset().top;
var this_left = box.offset().left;
var result;
if(transparent_top === (this_top + width)
&& transparent_left === this_left){
change_score();
box.finish().animate({top: "+="+width}, 100);
transparent.finish().animate({top: "-="+width}, 100, function(){animate_callback(result)});
}else if(transparent_top === this_top
&& transparent_left === (this_left + width)){
change_score();
box.finish().animate({left: "+="+width}, 100);
transparent.finish().animate({left: "-="+width}, 100, function(){animate_callback(result)});
}else if(transparent_top === this_top
&& (transparent_left + width) === this_left){
change_score();
box.finish().animate({left: "-="+width}, 100);
transparent.finish().animate({left: "+="+width}, 100, function(){animate_callback(result)});
}else if((transparent_top + width) === this_top
&& transparent_left === this_left){
change_score();
box.finish().animate({top: "-="+width}, 100);
transparent.finish().animate({top: "+="+width}, 100, function(){animate_callback(result)});
}
});
「即時」沒有意義;任何動畫都意味着從狀態A轉換到狀態B的時間段(即使很小)。您是否可以創建工作片段或指向在線示例,以顯示您想要實現的目標? 我假設你的動畫速度不夠快,或者你的動畫屬性沒有產生你想要達到的視覺效果。 –
但這是我想要的。只需更改沒有動畫的位置。 你可以在這裏看到一個例子:http://codepen.io/rafail/pen/qqNwoY 我明白你是一個希臘人,如果你想要我們可以用希臘語說話來更好地理解我。 –
你介意顯示一個線框或粘貼你的HTML(在任何交互發生之前)和期望的結果嗎? –