2012-03-19 20 views
0

私たちは流動的なレイアウトのサイトを開発しています(それで、モバイルでも機能します)。ウィンドウのサイズを変更するときに調整されます。オンザフライでfancyboxを無効/有効にする方法は?

イメージを拡大するためにファンシーボックスを使用すると、すべてが問題なく領域になります。 ギャラリーで「mobile ajusts」機能(window.resizeによって既に起動されている)を呼び出すと、fancyboxを無効にして、「デスクトップ」バージョンに戻るときに再度有効にします。

$( '。case-gallery a')のfancybox($。fancybox.cancel)とそのようなものを使用して、 'click'にpreventDefaultのようなものをたくさん試しましたが、 fancyboxは既にDOM要素に保存されていますが、無効にしたり、その場で再度有効にすることはできません.JSについての知識は実際には高度ではありません。

助けが必要ですか?

+0

サイズ変更機能からFancyboxを初期化できませんか?たとえば、 'jQuery(document).ready(function($){** fancybox **、** resize **})'の代わりに 'jQuery(document).ready(function($) {** resize:{*サイズ変更*、* fancyboxコード*} **}); '。擬似コードに対する謝罪。私はそれをチェックする時間がないので答えとしてこれを公開したくなかった。 – dunc

+0

こんにちは、ええ、私は私のポストについて数分を考え出しました。 私はまだドキュメント上にfancyboxを準備していますが、私が "mobile"関数を呼び出すと、fancyboxのプロパティをもう一度書き直します。 この方法で私はそれを無効にする必要はありませんでしたが、いくつかのプロパティを呼び出して、より良い見通しでモバイル用のfancyboxをカスタマイズしました。 私が "デスクトップ"機能を呼び出すと、デフォルトのdocument.readyプロパティでfancyboxを書き直すだけです。 これが正しい方法であるかどうかはまだ分かりませんが、私にはちょっと "汚い"のようです。 –

答えて

0

これを試して、fancybox onStartイベントを聞き、$ .fancybox.cancel()を使用してください(忘れないでください)。

+0

私はポストした後、それを理解しました。$( 'case-gallery a')を呼び出しました。fancybox({'beforeLoad':function {){$ fancybox.cancel();}});デスクトップ版に戻ったときに、デフォルトプロパティでfancyboxを書き直しました。私はちょうどそれを行う正しい方法がわからない。 –

0

私は同じ問題を抱えているし、ここに私の現在の作業の考えです:

jQuery check if event exists on element

DOM.style.whatever場合などのチェック... DOMに変数プロパティをチェックするためにこの回答を使用> 10.ちょうど私の働く思考。私はDIVで製品のカルーセルを持っているサイトを持っています。私はDIVの不透明度に基づいて、表示されていない製品をクリック可能にしたくありません。もし私がそれを把握すれば、私は一日のうちに再ポストします。

関連する問題