我想实现一个 Jquery/JS 动画,比如 Flipboard 弹出动画。
当用户点击图片时,图片会扩大到一定大小,白色背景会扩大,直到占据整个屏幕。
动画完成后,页面内容将被加载。 http://flipboard.com/
对此的任何帮助将不胜感激。
非常感谢!
我想实现一个 Jquery/JS 动画,比如 Flipboard 弹出动画。
当用户点击图片时,图片会扩大到一定大小,白色背景会扩大,直到占据整个屏幕。
动画完成后,页面内容将被加载。 http://flipboard.com/
对此的任何帮助将不胜感激。
非常感谢!
<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>
Codrops 刚刚发布了一个插件来做到这一点,以及如何使用它的说明。这里有一个特别酷的插件演示。