jQuery animate margin haut de page

j'ai un script sur jsfiddle: http://jsfiddle.net/kX7b6/

rien ne se passe en vol stationnaire

en vol stationnaire je veux que la boîte verte chevauche la boîte rouge avec une marge négative-50px. Rien ne se passe.

L'animation fonctionne, mais pas de la marge

juste pour montrer que l'animation elle-même fonctionne j'ai ajouté une fonction d'opacité à animation. marge-top est réglé à 0px inline aussi loin que je puisse voir.

32
demandé sur reporter 2011-10-18 15:40:47

8 réponses

vous aviez MarginTop au lieu de marginTop

http://jsfiddle.net/kX7b6/1 /

il est également très buggé si vous quittez mid animation, voici mise à jour:

http://jsfiddle.net/kX7b6/3 /

notez que je l'ai changé en mouseenter et mouseleave parce que je ne pense pas que l'intention était d'annuler l'animation quand vous survolez le rouge ou espace vert.

60
répondu Esailija 2011-10-18 11:52:09

utiliser 'marginTop' au lieu de MarginTop

$(this).find('.info').animate({ 'marginTop': '-50px', opacity: 0.5 }, 1000);
24
répondu Mark Coleman 2011-10-18 11:45:41

vérifier ce même effet avec moins code

$(".item").mouseover(function(){
        $('.info').animate({ marginTop: '-50px' , opacity: 0.5 }, 1000);
    }); 

http://jsfiddle.net/sandeep/kX7b6/4 /

8
répondu sandeep 2015-04-10 08:43:45

MarginTop devrait être marginTop .

4
répondu bjornd 2011-10-18 11:45:59
$(this).find('.info').animate({'margin-top': '-50px', opacity: 0.5 }, 1000);

Not MarginTop. Il fonctionne

2
répondu OptimusCrime 2011-10-18 11:46:06

comme dit marginTop-pas MarginTop.

pourquoi ne pas l'animer à nouveau? :)

voir: http://jsfiddle.net/kX7b6/2 /

1
répondu Marco Johannesen 2011-10-18 11:46:09

je ne savais pas que l' ".stop()" est nécessaire.

$(window).scroll(function () {

   var scroll = $(window).scrollTop();
   console.log(scroll);

     if (scroll >= 50){
       $('.sidebar-padder').stop().animate({ 'height': '380px'}, 1000);
     }else{
       $('.sidebar-padder').stop().animate({ 'height': '600px'}, 1000);
};
1
répondu meck373 2015-11-07 18:17:49

utilisez le code suivant pour appliquer une certaine marge

$(".button").click(function() {
  $('html, body').animate({
    scrollTop: $(".scrolltothis").offset().top + 50;
  }, 500);
});

voir cette réponse: Faites défiler vers le bas jusqu'à div + une certaine marge

0
répondu Muhammad Wasim Khan 2017-05-23 12:34:08