0

まず第一に、これはスタックオーバーフローに関する私の最初の投稿なので、何か間違っている場合は修正してください。

Fancybox の使用に問題があります。Fancybox v2.1.5 を使用しています。ご存知かもしれませんが、Fancybox は自動的にファンシーボックスを中央に配置して画面の中央に配置します。私は実際にファンシーボックスを画面の左と上から特定の量のピクセルに配置する必要があります (これらの値は可変であり、ウィンドウのサイズが変更されると変化します。これが、CSS のみが解決策ではないと考えた理由です。 )。

ファンシーボックスが正しい位置に留まるように、小さな JavaScript コードを書きましたが、ファンシーボックスプラグインには、ファンシーボックスが中央に配置されるようにするための独自の種類のスクリプトがあるようです。ご想像のとおり、これら 2 つのコードは互いに衝突し、fancybox が正しい位置から中央の位置にジャンプします。

私の質問は、Fancybox が私のファンシーボックスを中央に配置しないようにするにはどうすればよいのでしょうか?

興味があれば、これは私のファンシーボックスを配置するために使用するコードです:

var position = "";
var position_interval = setInterval(function() { 
    if ($('#module1').offset().left != position.left)
    {
        $('.social_fancybox').css($('#module1').offset());
        position = $('#module1').offset();
    }
    if ($('.social_fancybox').length < 1)
    {
        clearInterval(position_interval);
    }
}, 100);
4

2 に答える 2

-1

!important修飾子を使用する CSS ルールを追加できます。これは、その要素の他のすべての CSS ルールを無効にします。たとえば、次のようになります。

p {color:red !important;}
p {color:blue;}

p赤いテキストになります。

これをファンシーボックスに適用するには、次を使用します。

.fancybox-wrap {
    top:100px !important; /* or whatever you choose */
    left:100px !important; /* or whatever you choose */
}

詳細: Fancybox 2 を手動で配置する

編集: または、jQuery を使用して Fancybox の位置を手動で設定することもできます。

$('.fancybox-wrap').css('top',yourTopValue);
$('.fancybox-wrap').css('left',yourLeftValue);
于 2013-08-07T22:27:09.323 に答える