У меня есть эта функция, чтобы анимировать div из верхней части страницы и vieversa, когда он закрыт.
Но работает ли он нормально, когда он открывается, если я его закрываю, он просто ведет себя странным образом?Странным образом в том смысле, что нижний колонтитул закрывается, а затем закрывается все тело.
У меня есть кнопка закрытия и ссылка для закрытия.Если я использую ссылку, она работает нормально, но когда дело доходит до кнопки, она ведет себя так, как я упоминал выше.
Это мой плагин:
(function($){
// Defining our jQuery plugin
$.fn.Lighty = function(prop){
// Default parameters
var options = $.extend({
height : "250",
width : "500",
title:"JQuery Modal Box Demo",
description: "Example of how to create a modal box.",
top: "20%",
left: "35%",
},prop);
return this.click(function(e){
add_block_page();
add_popup_box();
add_styles();
setTimeout(function() {
$('.Lighty').animate({top:'toggle'},50);
},300);
});
function add_styles(){
$('.Lighty').css({
'position':'absolute',
'left':options.left,
'top':options.top,
'display':'none',
'max-height': options.height + 'px',
'width': options.width + 'px',
'border-bottom':'1px solid #EEE',
'box-shadow': '0px 2px 7px #292929',
'-moz-box-shadow': '0px 2px 7px #292929',
'-webkit-box-shadow': '0px 2px 7px #292929',
'border-radius':'10px',
'-moz-border-radius':'10px',
'-webkit-border-radius':'10px',
'background': '#ffffff',
'z-index':'50',
});
$('.close').css({
'position':'relative',
'top':'15px',
'left':'20px',
'float':'right',
'display':'block',
'height':'50px',
'width':'50px',
'background': 'url(images/action_delete.png) no-repeat',
});
}
function add_block_page(){
var block_page = $('<div class="page"></div>');
$(block_page).appendTo('body');
}
function add_popup_box(){
var pop_up = $('<div class="Lighty"><a href="#" class="close"></a><div class="mainbody"><h2>' + options.title + '</h2><p>' + options.description + '</p></div><div class="footer"><button class="closebutton">close</button></div></div>');
$(pop_up).appendTo('.page');
$('.close,.closebutton').click(function(){
$(this).parent().animate({top:'toggle'},50);
setTimeout(function() {
$('.page').fadeOut().remove();
},300);
});
}
return this;
};
})(jQuery);
Вот как я его называю:
<script type="text/javascript">
$(document).ready(function () {
$('.Modalbox').Lighty({
title: 'Simple Dialog',
description: 'This is a simple modal dialog with title.<br>Write your descrition here.<br>Write Some content here.<br>Write more content here.<br>Write much more content here.'
});
});
</script>
Живой сэмпл на jsFiddle