var winScroll=0; //모달 열고 닫기 $(window).bind('load scroll resize',function(){ winScroll = $(this).scrollTop(); }); function modal_open(modalName) { // 모달 열기 공통 modal = $(modalName); // 모달창 ID값으로 열기 modalBody = $(modal).children('.modal_wrap'); // 실제 모달창 modalW = modalBody.width(); modalH = modalBody.height(); modalOverlay = $('.modal_bg'); if ( modalH >= $(window).height() ) { // 모달창이 윈도우보다 큰 경우 modalBody.css({ 'top':'50px', 'margin-left':-modalW/2, 'margin-top':'auto' }); modalOverlay.height(modalH+100); modal.addClass('modalScroll'); $('body').addClass('winFix modalFix').css('top',-winScroll); // 스크롤바 막고, 사이즈 고정 // 스크롤바 막고, 사이즈 고정 //$('body').addClass('winFix winOverflow'); // body에 스크롤바 //$('#bodyWrap').addClass('modalFix').css('top',-winScroll); // 스크롤바 막고, 사이즈 고정 } else { modalBody.css({ 'top':'50%', 'margin-left':-modalW/2, 'margin-top':-modalH/2 }); // 모달창 크기 계산, 가운데 정렬 $('body').addClass('winFix modalFix').css('top',-winScroll); // 스크롤바 막고, 사이즈 고정 // 스크롤바 막고, 사이즈 고정 //$('body').addClass('winFix'); // body에 스크롤바 //$('#wrap').addClass('modalFix').css('top',-winScroll); // 스크롤바 막고, 사이즈 고정 } $(modal).stop().fadeIn(150); } function modal_close(modalName) { // 모달 닫기 공통 winTop = Math.abs(parseInt($('body').css('top'))); // 모달 닫을 시 현재 스크롤 위치값 반환 modal = $(modalName); modal.fadeOut(100); modal.removeClass('modalScroll'); $('body').removeClass('winFix modalFix').css('top',''); modalOverlay.height(''); $(window).scrollTop(winTop); winTop = 0; } //높이 가변화되는 모달 열고 닫기 function modal_open2(modalName) { //console.log(modal_cnt, "show2"); var s_height=$(document).scrollTop(); modal = $(modalName); modalBody = $(modal).children('.modal_wrap'); modal.stop().fadeIn(150); var height=modalBody.outerHeight(); var w_height=$(window).height(); var margin=(w_height-height)/2; var marginL=modalBody.width()/2; modalBody.css({ "margin-top":margin, "margin-left":-marginL, }); $("#bodyWrap").addClass("modalFix"); $("body").addClass("winFix"); $("#bodyWrap").css("top",-s_height); modal_cnt++; } function modal_close2(modalName) { modal_cnt--; winTop = Math.abs(parseInt($('#bodyWrap').css('top'))); modal = $(modalName); if(modal_cnt <= 0) { //console.log(modal_cnt, "close2_0"); modal.fadeOut(100); //modal.hide(); $("#bodyWrap").removeClass("modalFix").css("top"); $("body").removeClass("winFix"); $(window).scrollTop(winTop); winTop = 0; }else{ //console.log(modal_cnt, "close2_1"); modal.fadeOut(100); } } $(function() { //모달 닫기 $(".renew_modal .btn_close, .renew_modal .btn_ok").click(function() { var modal=$(this).parents(".renew_modal").attr("id"); modal_close("#"+modal); }); //높이 가변화 되는 리뉴얼 모달 닫기 $(".renew_modal .btn_close2").click(function(e){ var modal=$(this).parents(".renew_modal").attr("id"); modal_close2("#"+modal); }); });