使用している Shadowbox のバージョンは、現在の安定版リリースであるv3.0.3です。
使用している他のプラグインの名前はDurpal Rotating Banner v6ですが、バージョン7.2を使用できます。
Shadowbox Hook Optionsを使用し、Rotating Banner スクリプトを操作する.onOpen();
ことは完全に正しいです。onClose();
ただし、Rotating Banner スクリプトには、カスタマイズされたメニューを介してオプションを構成する以外に、API の使用に関するドキュメントがありません。
十分に文書化された JavaScript のダウンロード可能な zip ファイルを調べると、使用しているバージョンに関係なく、Durpal Rotating Bannerとやり取りする方法が示されます。
まず、Shadowbox のプラグイン バージョンは使用せず、 Shadowbox Web サイトのスタンドアロン バージョンのみを使用しますが、この方法は、この回答にたどり着いたさまざまな Shadowbox プラグイン (Drupal、WordPress など) を表す必要があります。
にアクセスできない場合Shadowbox.init({});
は、Web ページの body タグを閉じる直前にこのスクリプトを使用します。それ以外の場合は、次のコード ブロックにジャンプします。
<script type="text/javascript">
window.onload=function(){
Shadowbox.setup('',{
// Besides 'pause' and 'resume' are 'prev', 'next', and 'stop' found in the jQuery Cycle Plugin (check inside jQuery Easing Plugin to see if it's combined).
onOpen: function(){
jQuery('.rb-slides').each(function () {
if (jQuery(this).cycle) {
jQuery(this).cycle('pause');
}
});
},
onClose: function(){
jQuery('.rb-slides').each(function () {
if (jQuery(this).cycle) {
jQuery(this).cycle('resume');
}
});
}
// If you have access to Shadowbox.init({}), then place the above onOpen and onClose in there instead of using this script.
});
};
</script>
経由で Shadowbox の初期化にアクセスできる場合は、以下に示すようにとの部分Shadowbox.init({});
を使用します。onOpen();
onClose();
<script type="text/javascript">
Shadowbox.init({
onOpen: function(){
jQuery('.rb-slides').each(function () {
if (jQuery(this).cycle) {
jQuery(this).cycle('pause');
}
});
},
onClose: function(){
jQuery('.rb-slides').each(function () {
if (jQuery(this).cycle) {
jQuery(this).cycle('resume');
}
});
}
});
</script>
私のテスト環境では、これは Base または jQuery Adapter インターフェイスを備えた Shadowbox でうまく機能します...私にとっては (jQuery ライブラリに加えて) ダウンロード オプションです。
上記のスクリプトは、Shadowbox が開いたときに Web ページで見つかったすべての回転バナーを一時停止し、Shadowbox が閉じたときにそれらをすべて再開します。