2

ページ全体を (スクロール バーなしで) 表示したままにすると、ColorBox は期待どおりに動作します。

スクロール バーが右側に表示されている場合、ページ コンテンツは移動しますが、colorbox は移動しません。

これを html {overflow-y: scroll;} で修正しようとしましたが、うまくいかないようです。ページ コンテンツは正しく修正されますが、ColorBox はスクロールバーの幅を考慮しません。

スクロール バーが表示されていて、リンクをクリックするとページが下にスクロールされる場合、ColorBox は間違った位置で初期化され、実際のページではなく、VISIBLE ページの上部から TOP の位置合わせが行われます。

編集:

492行目に、次のコードがあります // remove the modal so that it doesn't influence the document width/height $box.css({top: -9e4, left: -9e4});

行503をコメントアウトすると目的の効果が得られるため、モーダルISがドキュメントの幅/高さに影響しているよう//top = scrollTop;です。これは、モーダル ボックスが問題を引き起こしていることを示しています。これでも水平方向の配置の動作は修正されません。スクロール バーが考慮されていないため、ポップアップはまだ本体からオフセットされています。

何か案が?

4

1 に答える 1

0

これは ColorBox のデフォルトの動作です。それに対処するには、ColorBox の初期化を次のように変更する必要があります (スニペットはページから取得されました)。

.colorbox({iframe:true, width:"800px", height:"600px", top:"137px", opacity:"0", scrolling:"false", position:fixed});

position:fixedプロパティに注意してください。これにより、ブラウザtopは必要に応じてパラメータを処理するようになります。つまり、137px + ページのスクロールされた高さではなく、常に 137px になります。

この質問もあなたの質問に似ていると考えてください。

于 2012-11-27T19:36:57.683 に答える