2

各画像に複数のタグを「タグ付け」できる画像ギャラリーページがあります。各タグ ボタンは、タブ バーに表示されます。デフォルトではすべての画像が表示されますが、単一のタグ ボタンをクリックすると、そのタグが付けられた画像のみが表示されます。

jQuery lightBox プラグインを使用してより大きなバージョンの画像を表示していますが、選択したすべての画像を lightBox で表示したいと考えています (前/次のリンクをクリックして)。

$(document).ready
(
    function()
    {
        // this works ok
        $('#gallery div a').lightBox();
    }
);

画像をフィルタリングするまで、すべてがうまく機能します。デフォルトでは、すべての画像が lightBox で利用可能です (そして、lightBox にはこれらのフィルター処理された画像のみが必要です)。

私はフィルターイベントでこれをやろうとさえしました:

$('#gallery div.' + tag + ' a').lightBox();

「タグ」は、ギャラリー内の画像をフィルタリングするアクティブなタグのみを含む文字列です。lightBox はフィルタリングされた画像のみを適切に表示するため、これは少し怪しい動作をしますが、いくつかの奇妙な動作があります。

  • 次の画像のボックスのサイズを変更すると、アニメーションが少しめちゃくちゃになる
  • 画像カウンターは、最初の状態の結果 (例: 7 of 25) を表示し、次にフィルタリングされた結果 (例: 7 of 9) を表示します。

私の実際の質問は次のとおりです。

  • リンクに設定された lightBox の動作を削除する方法はありますか?
  • 簡単に「プラグを抜く」ことができるようにするために、lightBoxに代わるものはありますか?
4

1 に答える 1

0

これにより、lightBox の動作が無効になります (クリック イベント ハンドラーに過ぎないように見えるため)。

$('#gallery div a').unbind('click');

次に、以下は魅力のように機能します。

$('#gallery div.' + tag + ' a').lightBox();
于 2012-06-20T12:55:42.643 に答える