以下代码完美地工作,但我想用更高效的方式更改.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(在任何交互发生之前)和期望的结果吗? –