2014-05-12 22 views
14

Oto sytuacja, mam stały nagłówek o wysokości 120 pikseli i zmusiłem stronę do przejścia do #testdiv, gdy ciąg zapytania to #testdiv.Ustaw margines dla DIV przy użyciu JQuery

Problem polega na tym, że strona przeskakuje na początek powyższego DIV, część treści zostanie utracona, ponieważ znajduje się za ustalonym nagłówkiem, czy istnieje jquery, która wymusza przeskok strony do #testdiv przy braku faktycznego marginesu ?

Próbowałem poniższy kod, ale to sprawia, że ​​rzeczywisty margines

if (url.indexOf('#testdiv') >= 0) { 
$('#testdiv').css('margin-top',120); 
}; 

Odpowiedz

16

myślę, że byłoby najprostszym sposobem, aby to zrobić, należy ustawić margin-top dla swojej dziedzinie, i ustawić negatywny margin-top dla danej dziedzinie macierzystej.

To powinna być praca dla ciebie.

if (url.indexOf('#testdiv') >= 0) { 
$('#testdiv').css('margin-top',120); 
$('#parent').css('margin-top',"-120px"); 
}; 
+0

Pomogło mi to, ponieważ brakowało mi "px" z mojej wartości ujemnej – Fijjit

0

Kiedy masz stały nagłówek, który nie chcesz, aby pokrywać treść trzeba dodać padding-top do elementu div (lub ciała, jeśli wymagane), które pasują do wysokości stałej zawartości, aby wypchnąć podstawowe elementy w dół.

+0

Dziękuję za sugestię, ale zasadniczo w tym konkretnym przypadku chcę mieć nałożony obraz pod nagłówkiem. – Amir

3

Można ustawić margin-top poprzez jQuery tak:

$("#mydiv").css("margin-top", "10px"); 
Powiązane problemy