2011-06-24 5 views
0

私は画像全体にthickboxを使用している教育CMSを持っています。 thickboxクラスを削除し、jQueryを使ってcolorboxクラスを追加することで、これをcolorboxに置き換えたいと思っています。クラスreplaceが発生していますが、カラーボックスはトリガーしません。 CMSのクラスを手動で変更すると正常に動作します。thickboxクラスとcolorboxをjQueryが機能しないように置き換えました。

jQuery(".thickbox").removeClass("thickbox").addClass("colorbox"); 

私はcolorboxスクリプトの呼び出しの上に置き換えスクリプトに呼び出しを移動しましたが、それでもいいです。

アイデア?最初の読み込み時に、colorboxにDOMのクラスが必要ですか? ThickBoxのの仕分けより

カラーボックスは少し異なる(より良い)であるjQueryプラグインとして実装されています

おかげ メートル

+0

私は、これを正しく診断するためにはもっと詳細が必要だと思いますが、将来このようなことを避けるためには、技術固有のクラス名を使用しないでください。代わりに、あらゆる種類のオーバーレイをロードするリンクにジェネリッククラスあなたが新しいプラグインを選択したときにあなたのHTMLを変更する必要はありません! – Beejamin

+0

コメント - thickboxが必要とするスクラッチ最初に問題になったのは、「thickbox」クラスを持つことです。これは、thickboxの時代の兆候だと思います。プラグインの開発は、その後! – Beejamin

答えて

1

私は問題がThickBoxのとカラーボックスが書かれている方法であると思います自己完結型のウィジェットモデルです。違いは、Thickboxが自動的にthickboxのクラスで物事を見つけ、その効果を適用する場合、Colorboxはあなたにどの要素を操作するかを伝える必要があります。

あなたはあなたの行を削除することができます

jQuery(".thickbox").removeClass("thickbox").addClass("colorbox"); 

してから、ポイントカラーボックスが含まれた後、次のとおりです。

$(function(){ 
    $('a.thickbox').colorbox(); 
}); 

これは、クラスで、ページ内の任意のリンク上のカラーボックスを初期化します'thickbox'をデフォルトの設定で使用します。カラーボックスに設定を追加するには、オブジェクトを含める(例:{key:value, key:value, key:value})。使用可能な設定は、カラーボックスの指示ページにあります。

jQueryスタイルポイントとして、プレーンクラスセレクタjQuery('.something')を使用するべきではありません。これは、そのクラスを探すページ全体のすべての要素をループします。これは古いブラウザ/マシンでは非常に遅いです。セレクタをjQuery('a.something')のタグ名で修飾するか、セレクタコンテキストに、内部に表示する要素のIDを含めることでjQuery('a.something', '#contentBox')(ここには興味のあるものが入っています)

+0

ありがとうございました。私を分類しました。そして、私は悪い/怠惰なコーディングを実現しました;) – mitch

関連する問題