创建一个像Flipboard弹出窗口一样的Jquery动画

时间:2012-08-27 02:44:32

标签: javascript jquery animation popup flipboard

我想实现像Flipboard弹出动画一样的Jquery / JS动画。

当用户点击图像时,图像将扩展到一定大小,其白色背景会扩展,直到占据整个屏幕。

动画完成后,将加载页面内容。 http://flipboard.com/

对此有任何帮助将不胜感激。

非常感谢!

3 个答案:

答案 0 :(得分:1)

几个月前

Codrops做了这件事,我不能在这里为你写出所有代码,但请this article阅读。

答案 1 :(得分:1)

<script>

//最后我找到了答案。这是完整的代码。

$(document).ready(function() { 

    $('.box').click(function(e){

        if( $('div').hasClass('overlay')==false ){

        //event.preventDefault();
        var $box = $(this);

        $('<div class="overlay"></div>').prependTo($box);

        var $overlay = $('.overlay');

        $overlay.css( {
                       'position'       : 'absolute',
                       'background-color'   : 'white',
                       'width'              : $box.outerWidth(true),
                       'height'     : $box.outerHeight(true),
                       'left'       : $box.offset().left,
                       'top'        : $box.offset().top,
                       'z-index'        : 99999999
        });                                       
        //$($placeholder).insertAfter('.box');  

        $overlay.animate({
                width: $(document).width(),
                height: $(document).height(),
                left: '0px',
                top: '0px'
            }, 500, function() {
                //reset the overlay
                $overlay.css({'width': ''});
                $overlay.css({'height': '1500px'});
                //ajax    
                $.ajax({  
                    type: "POST",  
                    url: "../ajax/get_event.php",  
                    data: "firstname=clint&lastname=eastwood",  
                    success: function(resp){  
                        // we have the response  
                        $overlay.html(resp);
                        $('.window').fadeIn(200);
                    },  
                    error: function(e){  
                        alert('Error: ' + e);  
                    }  
                });
        });

        }else{
            //click only on overlay to exit
            var $target = $(e.target);    
            if ( $target.is('.overlay') ) {
               $('.overlay').remove();
            }
        }  

    });//end box click

});//end of jquery
</script>

答案 2 :(得分:1)

Codrops刚刚发布了a plugin to do this, and instructions on how to use it. Theres一个特别酷的插件here演示。