我想实现像Flipboard弹出动画一样的Jquery / JS动画。
当用户点击图像时,图像将扩展到一定大小,其白色背景会扩展,直到占据整个屏幕。
动画完成后,将加载页面内容。 http://flipboard.com/
对此有任何帮助将不胜感激。
非常感谢!
答案 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演示。