1

我正在使用 [jQuery 插件][1] 使用以下代码创建模糊图像:

$(document).ready(function(){

var img = new Image();
img.onload = function() {
    Pixastic.process(img, "blurfast", {amount:1});
}
document.body.appendChild(img);
img.src = "image.jpg";

});

我怎样才能重写它而不是创建图像,我可以将它分配给 <img class="blurthisimage" >?

更新:

新代码仍然无法正常工作:

<img src="image.jpg" class="blurthisimage" />

<script type="text/javascript">
$(document).ready(function(){
var img = $(".blurthisimage");
img.onload = function() {
    Pixastic.process(img, "blurfast", {amount:1});
}
});
</script>
4

2 回答 2

1

改变

img = new Image();

img = $(".blurthisimage");

更新 尝试检查图像是否加载了这个

if (img[0].complete == true) {
    Pixastic.process(img[0], "blurfast", {amount:1});
}
else {
    img.load(function () {
        Pixastic.process(img[0], "blurfast", {amount:1});
    });
}

如果您想对多个图像进行这项工作,请使用以下命令:

img.each(function(index, element)
{
    if (img[index].complete == true) {
        Pixastic.process(img[index], "blurfast", {amount:1});
    }
    else {
        img.load(function () {
            Pixastic.process(img[index], "blurfast", {amount:1});
        });
    }
});

如果这不起作用,请在您的onload函数内部添加警报以查看它是否会触发

于 2011-10-11T01:16:28.327 回答
1

功能是否img.onload受到打击?如果代码甚至没有进入函数,可能是因为您.onload在 jQuery.ready()函数中实例化了代码,该函数会等待页面加载后运行代码(请参阅ready()文档)。当函数被实例化时,图像已经被加载,因此该事件永远不会触发。

于 2011-10-11T01:30:34.850 回答