javascript - jq修改img标签src后,单击获取其大小时,为什么总是获取到上一张图片的大小?
黄舟
黄舟 2017-04-10 15:01:36
0
2
424

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

reply all(2)
刘奇
        <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>

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

洪涛

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

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

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

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

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template