javascript
  • jquery
  • internet-explorer-6
  • iepngfix
  • dd-belatedpng
  • 2011-07-06 7 views 1 likes 
    1

    jqueryを使用してajaxによってdivにいくつかのHTMLをロードしています。コンテンツがロードされたら、DD_belatedPNGを使ってie6のためにpngを修正する必要があります。以下のコード -jquery.fade()でコールバックにロードされたコンテンツのDd_belatedPngの問題

    $("#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修正が機能します。

    答えて

    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()関数を返しますが、そうでない場合はお使いのバージョンでは動作します。

    +0

    Ooopsは、それほど簡単ではないことを認識していませんでした。早速のご返事ありがとうございます。 – Finnnn

    +0

    また、私は最初の引数がオプションであることはかなり確信しています - .fadeIn(fixIeIssue)workはうまくいきます。 – Finnnn

    +1

    たぶんそれはそうですが、他の人はドキュメントだと思っています:) –

    関連する問題