问题描述:
在修改left的值后,图片的确发生了位置的改变,符合预期效果,但是在获取图片的left值时**,获取到的是上一次的left值**,希望大佬指点一二QAQ.
部分代码如下:
//封装切换图片函数
function change_animate(index){
//根据传入的index下标值,显示对应的图片,这里传 0
$(".web_body_showPicture>ul").eq(0).animate({
//切换效果已经成功出现
"left":index*-1*992+"px"
},1000, showDot());
//问题如下:输出获取到的left并不是0,设为0之间的left值
console.log($(".web_body_showPicture").children("ul").eq(0).position().left);
}
将showDot函数添上function如下,已经解决
function(){
showDot();
}
1.函数并不会等待animate执行完毕才继续往下执行语句,也就是说,animate就像是新开一个线程一样
2.回调函数不加function包装,会在函数没有执行完毕的时候,直接调用
注:以上都是我实验后,个人总结的,或许实际上和我的推测并不一样QAQ
其实就是你这left在改的时候,下面已经执行输出了