我遇到了一个神秘的问题。我正在使用jQuery的animate
函数,我正在动画的对象没有移动到我提供的'left'坐标;相反,左坐标始终为0.但是,'top'坐标确实按预期移动。我有一点工作正常,我重新安排了一些事情,它已经停止了。
var new_x,
new_y,
player_tranistion_holder;
new_x = bg_app.boardModel[id_num].x+'px';
new_y = (bg_app.boardModel[id_num].chips.length) * bg_app.game_utils.parse_css_dimension(selected_chip.chip.css('height'));
console.log(new_x) //outputs 300px for example - the expected value;
selected_chip.chip.animate({'left': new_x, 'top': new_y }, 500, 'easeInOutQuad', function () {
console.log(selected_chip.chip.css('left'); //output is 0
});
知道是什么原因导致这种情况搞砸了吗?我改变它的东西仅仅是调用函数的方式,函数本身没有任何东西。我是否有一些我遗漏的语法错误?
我把破损的网站放在这里:
http://www.warunicorn.com/bg_show_busted/
这是一个有效的例子:
http://www.warunicorn.com/bg_show/
任何建议都将受到赞赏。
答案 0 :(得分:0)
我发现了问题。当使用animate函数时,如果传入的新值与对象的当前值相同,则jQuery会混淆并将值设置为0.我没有对此进行过大量测试,因此可能存在例外情况,但在这种情况下,那就是问题。