0

我有一组包含动画的 DIV,这些 DIV 在页面加载时被隐藏。这些动画中的每一个都在计时器上运行,但它们在 DIV 隐藏时运行。

这些 DIV 设置为在页面滚动时出现,但此时动画已经完成!有没有办法在它们出现后加载动画?

这是我的小提琴:http: //jsfiddle.net/fatfrank44/wRfu5/

CSS

#content-wrapper {
height: 500px;
float: left;
visibility: visible;
}
#container, #container2 {
width: 331px;
height: 105px;
margin: 15px;
background-color: #666;
}   
.numbers {
width: 36px;
height: 50px;
background-color: #dc000f;
float: left;
}

HTML:

<div id="content-wrapper">
<div id="container">
            <div class="numbers"></div>
        </div>
        <div id="container2">
            <div class="numbers"></div>
        </div>
</div>

JS:

<script>
    $(document).ready(function() {
        var controller = $.superscrollorama();
        // individual element tween examples
        controller.addTween('#container', TweenMax.fromTo( $('#container'), .25, {css:{opacity:0, scale:0, }, immediateRender:true, ease:Quad.easeInOut}, {css:{opacity:1, scale:1}, ease:Quad.easeInOut}));
        controller.addTween('#container2', TweenMax.fromTo( $('#container2'), .25, {css:{opacity:0, scale:0, }, immediateRender:true, ease:Quad.easeInOut}, {css:{opacity:1, scale:1}, ease:Quad.easeInOut}));
    });
</script>

 <script>
$(document).ready(function () {
$('.numbers').delay(1).animate({
    'margin-left': '100px'
}, {
    duration: 1000,
    queue: true
});
});
</script>
4

2 回答 2

1

我设法让它与以下代码一起使用。当您向下滚动页面时,它会加载 DIV:

<script type="text/javascript">
$(window).scroll( function() {  
    if ( $(window).scrollTop() > 100 ) {  
       loadDiv();  
    }  
});  
function loadDiv() {  
    $('#container-holder').fadeIn('slow', function() {  
        $(this).fadeTo("slow", 1);  
        $('#container').fadeTo("fast", 1);
        $('.numbers').delay(500).fadeIn({duration:1000, queue:false}).animate({'margin-left':  '100px'}, {duration:1500, queue:false});
    });  
}  
</script>
于 2013-09-11T09:14:04.707 回答
0

如果我理解你想要做什么......

由于$(document).ready. 您应该将动画代码放在 addTween 方法中,以便在将元素添加到页面/使其可见后立即开始动画。

于 2013-09-10T12:10:44.803 回答