1

我想实现一个 Jquery/JS 动画,比如 Flipboard 弹出动画。

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

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

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

非常感谢!

4

3 回答 3

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>
于 2012-08-29T09:28:17.850 回答
1

Codrops 刚刚发布了一个插件来做到这一点,以及如何使用它的说明。这里有一个特别酷的插件演示。

于 2012-09-04T11:28:37.300 回答
1

Codrops几个月前就做过了,我不能在这里为你写出所有的代码,但请阅读这篇文章

于 2012-08-27T04:55:24.640 回答