使用window.resize在图像上再次运行加载功能?

时间:2013-10-09 19:23:11

标签: jquery html css

我的设计是这样的:

<img class="imgtest" src="img.png" onload="scaleimg(event)" />

现在,我希望再次调用scaleimg(event)函数,当窗口重新调整大小时,图像有.imgtest类。

我已经尝试过,但它没有用。

$(window).resize(function() {
     $("img").one('load', function(){
         scaleimg(event);
     });
    });

帮我修理它。谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

您应该避免使用内联javascript - 对于您的问题,您可以在DOM准备就绪时运行scaleimg(),然后在窗口上触发resize事件时再次运行:

$(document).ready(function() {
    // When DOM is ready, go through each <img> with the class '.imgtest'
    $('img.imgtest').each(function() {
        scaleimg(event);
    });

    // Listen to resize event on $(window)
    $(window).resize(function() {
        $('img.imgtest').each(function() {
            scaleimg(event);
        });        
    });
});

更好的是,当DOM准备好时,你可以通过链接再次激活.resize(),为自己节省几行代码:

$(document).ready(function() {
    // Listen to resize event on $(window)
    $(window).resize(function() {
        $('img.imgtest').each(function() {
            scaleimg(event);
        });        
    }).resize();  // Notice the chaining
});

答案 1 :(得分:0)

你可以尝试这样做

$(window).resize(function() {
         scaleimg();
    });