do you know why i cant animate a absolute-positioning div with jQuery?
show please here (here is my example ):
http://jsfiddle.net/2VJe8/
HTML:
<html>
<body>
    <div class="test">
        <div class="box">
            <div class="arrow"></div> 
        </div>
        <a href="#" class="btnStartAni">Animate</a>
    </div>
</body>
CSS:
.test { margin: 0; padding: 0;}
.test .box { width: 150px; height: 140px; background-color: red; position: relative; }
.test .box .arrow { width: 50px; height: 50px; background-color: black; position: 
absolute; bottom: 0; right: -50px;}
JavaScript:
jQuery(".test a.btnStartAni").on("click", function(e){
   e.preventDefault();
  jQuery(".box").animate({ width: 400}, 800);
});
the black box is during animation hide! But i dont know why?
can you help me please?
jQuery causes the overflow to be hidden when you use .animate, so change your code to
jQuery(".test a.btnStartAni").on("click", function(e){
    e.preventDefault();
    jQuery(".box").animate({ width: 400}, 800).css('overflow', 'visible');
});
And it should work
JsFiddle: http://jsfiddle.net/2VJe8/1/
Source: jQuery .animate() forces style "overflow:hidden"
overflow: hidden gets set on .box when jQuery animates the box. .arrow overflows from .box and so disappears. Consider changing the markup.
You can also re-arrange the elements to get the same effect (using float:left and display:inline-block)
http://jsfiddle.net/mkVrL/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With