Ok, alors j’ai une div et je veux le positionner au milieu d’une page. Je suis si loin
$("#a").css('margin-top', '(document).height()/2 - ("#a").height()/2');
Est-ce correct?
** Il ne devrait pas être entre guillemets. En outre, vous devez utiliser la terminologie $()
. Essaye ça:
$("#a").css('margin-top', $(document).height()/2 - $("#a").height()/2);
Ou même mieux:
var $a = $("#a"); $a.css('margin-top', $(document).height()/2 - $a.height()/2);
Edit: Juste pour être clair, vous ne pouvez pas le mettre entre guillemets car il essaiera de définir la propriété margin-top littéralement à cette chaîne. Ce qui est incorrect
Je vous suggère d’utiliser .offset()
.
Description: Définissez les coordonnées actuelles de chaque élément de l’ensemble d’éléments correspondants, par rapport au document .
$("#a").offset({ top: $(document).height()/2 - $("#a").height()/2, left: $(document).width()/2 - $("#a").width()/2 })
Celui-ci a fonctionné pour moi et pourrait aider:
$('html, body').animate( { scrollTop: $('#your_div_id').offset().top-200 }, 1000);
Changez la valeur 200 dans ‘top-200’ pour positionner votre div en fonction de vos besoins.