search

Home  >  Q&A  >  body text

javascript - jq修改img标签src后,单击获取其大小时,为什么总是获取到上一张图片的大小?

黄舟黄舟2902 days ago423

reply all(2)I'll reply

  • 怪我咯

    怪我咯2017-04-10 15:03:36

            <p id="imgs">
            <img src="testimg1.jpg" alt="test">
            <img src="testimg2.jpg" alt="test">
            <img src="testimg3.jpg" alt="test">
        </p>
        <p id="show">
            <img src="testimg1.jpg" alt="show">
        </p>
        <script src="jquery-2.1.0.min.js"></script>
        <script>
            $(function () {
                var show = $('#show img');
                $('#imgs img').on('click', function () {
                    show.attr('src', this.src);
                    console.log(show.attr('src'));
                });
            });
        </script>
    

    模拟了一下你的业务场景,这样是没问题的。
    依旧有问题的话 就得贴更多代码出来啦

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 15:03:36

    获取上一个的原因应该是在于,你更改src以后,图片还没有下载完成,这个时候图片还没有被替换。

    如果希望获取的话,可以使用on->load

        $("image").on("load",function(){
            //这里添加你的获取高度函数就OK
        });
    
    

    当然,第一次加载原图时候,你可以自己处理其他逻辑

    reply
    0
  • Cancelreply