0

現在、GreyScale ホバー効果を適用する jQuery プラグインを使用しています。プラグインは完全に機能します。

プラグインがあるページは ajax ベースのフィルタリングを利用しています。このため、以下のコードは初期ロードでのみ正しく機能します。各フィルターで両方の要素を再初期化できる必要があります。

私はjQuery 1.7.2を使用しているので実験してきましたが、これを機能さ$(document).onせることはできません..

$(function() {
    // fade in the grayscaled images to avoid visual jump
    $('.colour img').hide().fadeIn(1000);
  });

  // user window.load to ensure images have been loaded
  $(window).load(function () {
    $('.colour img').greyScale({
      // call the plugin with non-defult fadeTime (default: 400ms)
      fadeTime: 500,
      reverse: false
    });
  });
4

2 に答える 2

1

Can't you just put it in a function, call that function in document ready and then call it again after your ajax call? Something like:

function YourFunction() {
    $('.colour img').greyScale({
    // call the plugin with non-defult fadeTime (default: 400ms)
       fadeTime: 500,
      reverse: false
    });
}

Then call it on document ready like:

$(function () {
    YourFunction();
});

Then in the callback for your AJAX call just call YourFunction() again?

于 2012-04-18T11:27:34.267 に答える
0

2 つの関数を用意して、いつでも呼び出すことができます。

function x()
{
   // fade in the grayscaled images to avoid visual jump
    $('.colour img').hide().fadeIn(1000);
}

function y()
{
   $('.colour img').greyScale({
      // call the plugin with non-defult fadeTime (default: 400ms)
      fadeTime: 500,
      reverse: false
}

初期ロード時および ajax 呼び出し後にそれらを呼び出す

于 2012-04-18T11:28:09.423 に答える