私はcolorboxを2回呼び出します。最初のコールはクリックしています。colorboxコールバック混乱
$("a.nivoImageLink").colorbox({
opacity:.8,
onComplete:function() {
cboxPrint(false);
}
});
そして第二::カラーボックスが開いているときは、クリック時にその内容を印刷することができますカラーボックスは、サムネイル印刷アイコンをクリックし、開いて印刷ウィンドウで開きますカラーボックスは再び閉じ、印刷手順の後:
$("a.print").click(function() {
$("a.nivoImageLink:not(:hidden)").colorbox({
open:true,
onComplete:function() {
cboxPrint(true);
}
});
});
これまでのところ動作します。しかし、私が印刷アイコン(2回目の呼び出し)でカラーボックスを開くと、カラーボックスはその呼び出しに関係なく、その場合にのみ開きます。これはコールバック関数です。
誰かが私を助けてくれますか?
ありがとう。申し訳ありませんが、おそらく私の質問が十分に明確ではありません。短く、うまくいけばわかります:2つの異なるcolorbox呼び出しに1つのコールバック関数を使用し、効果を異ならせる関数で「オートプリント」をtrueまたはfalseにします。私が2回目の呼び出しをクリックすると、 "autoprint == true"と言われても、もう一方は真になるでしょう。それで全部です。 私はremove()を知っていますが、他のアセットのカラーボックスを再初期化する必要があります。私はちょうど2つの異なる機能をしなければならないと思う、それほど美しいものではないが、機能するだろう。 – Thomas
ああ、はい、よくjavascriptはしばしば私たちがそれができることを望むよりも美しくない終わりに終わる。私はあなたの問題を完全に見逃しています^^私は今朝早くjsで真実と偽に問題を抱えていました。私はif(data === true){...} else {...}を使いました。トリプル・イコール( '===')を使うと、値が同じ値で同じ型であることをチェックします。私はjavascriptの教祖ではない私は恐れている、私はものが仕事をするときに満足している^^しかし、あなたのソリューションを見つけて、良いことを見てよかった – Hazza