2010-07-28 13 views

Odpowiedz

15

To przesłonić najwyższą pozycję, a można zrobić to samo z lewej itp:

#colorbox { top: 100px !important; } 

10% od szczytu byłoby trudniejsze, trzeba zaimplementować własną logiką pozycjonowania w zwrotnego onload za każdym razem, gdy pokazany jest kolorbox, lub rozszerzyć kod Colorbox, ale nie ma na to szybkiej metody.

UPDATE

Colorbox ma teraz wbudowaną opcję, aby to zrobić:

$("a").colorbox({ top: 100, left: "50%" }) 

UPDATE 2

Jeżeli nie jesteś zobowiązany do ColorBox, bardzo polecam przy użyciu qTip2.
Znacznie lepsza obsługa pozycji (styl jQuery UI), czystsze wyjście HTML i łatwiejsza obsługa IE <.

+0

Wydaje się, że nie działa to dla mnie, po prostu odciąga dno pudełka. Czy to działa dla innych? – Josh

+1

@Josz proszę podać kod w innym pytaniu, aby można było rozwiązać problem. Ta metoda zdecydowanie działa. – Razor

+0

To działa dla mnie. Dzięki – shaneburgess

-2
#cboxWrapper{ 
    position:fixed; 
    top:100px; 
    left:300px; 
    z-index:9999; 
    overflow:hidden; 
} 

Zastosuj ten styl w JSP lub innych stron internetowych.

1

Możesz użyć ustawienia colorbox podczas inicjowania Colorbox. Na przykład, aby mieć #colorbox w tej samej wysokości, gdzie kliknąłeś, to wykorzystać (.colorbox jest zdefiniowane przez użytkownika klasy Colorbox):

$(".colorbox").each(function(i) { 
    var offset = $(this).offset(); 
    $(this).colorbox({top:offset.top}); 
}); 

Można też na przykład ustawić minimalny szczyt i zrobić #colorbox trochę wyższy

$(".colorbox").each(function(i) { 
    var offset = $(this).offset(); 
    var o = offset.top-200; 
    if(o<100){o=100;} 
    $(this).colorbox({top:o}); 
}); 
2

musiałem zastąpić pozycję ColorBox w locie i znalazł następujące rozwiązanie:

W jquery.colorbox.js funkcja publicMethod.position używania pamięci podręcznej wersję ustawień. Aby zmodyfikować settings.left/top w locie, musimy użyć właściwości settings obiektu. Aby to osiągnąć, musimy zastąpić settings.top/left przez this.settings.top/left wewnątrz funkcji (LN 499):

if(typeof this.settings!="undefined"){ 
    settings.left=this.settings.left; 
    settings.top=this.settings.top; 
} 
if (settings.right !== false) {... 

Teraz możemy zmienić położenie obiektu:

$.colorbox.settings.left=newLeft; 
$.colorbox.settings.top=newTop; 
$.colorbox.position(); 
Powiązane problemy