雨中徒步八英里 2019-09-13 00:06 采纳率: 0%
浏览 421

jQuery中利用animate改变left边距后,获取值为上一个

问题描述:
在修改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);
            }
  • 写回答

2条回答

  • 雨中徒步八英里 2019-09-13 13:02
    关注

    将showDot函数添上function如下,已经解决

    function(){
                        showDot();
                    }
    

    1.函数并不会等待animate执行完毕才继续往下执行语句,也就是说,animate就像是新开一个线程一样
    2.回调函数不加function包装,会在函数没有执行完毕的时候,直接调用
    注:以上都是我实验后,个人总结的,或许实际上和我的推测并不一样QAQ

    评论

报告相同问题?

悬赏问题

  • ¥15 vue3加ant-design-vue无法渲染出页面
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序