1

我正在使用 jquery 通过 ajax 将一些 html 加载到 div 中。加载内容后,我需要使用 DD_belatedPNG 修复 ie6 的 png。下面的代码 -

$("#content").fadeOut(function(){
    $(this).html("<div><p>some text</p><img src='myimage.png' class='dayPosted' /><p>some more text</p></div>").fadeIn( fixIeIssue() ); //The html in this function is for example only, in my app it's populated by ajax. 
})
fixIeIssue = function(){
    if  (window.DD_belatedPNG){
        //alert("for some reason this works if I call an alert here")
        DD_belatedPNG.fix('.dayPosted');
    }
}

png 修复不起作用。奇怪的是,如果我在调用修复之前调用警报,它确实有效。

我尝试将 document.ready 添加到 fixIeIssue 中,但这没有帮助。

png 修复确实适用于初始页面加载。

4

1 回答 1

1

传递函数作为参数。您还忘记了fadeIn()的第一个参数。尝试:

$("#content").fadeOut(function(){
    $(this).html("<div><p>some text</p><img src='myimage.png' class='dayPosted' /><p>some more text</p></div>").fadeIn('slow', fixIeIssue );
})

如果将返回一个函数,您的版本将起作用fixIeIssue(),但它不会。

于 2011-07-06T08:48:14.350 回答