(function ($, window, document, undefined){ $.fn.setTabMenu = function(option){ var params = jQuery.extend({ menu : '.menu a', cont : '.cont', callBack : false },option) return this.each(function(){ var $this = $(this), $menu = $this.find(params.menu), $cont = $this.find(params.cont), $menuOn = $this.find('.active').index(); $cont.hide(); $cont.eq($menuOn).show(); $menu.on('click', function(e){ e.preventDefault(); var idx = $(this).parent().index(); $menu.parent().removeClass('active'); $menu.eq(idx).parent().addClass('active'); $cont.hide(); $cont.eq(idx).show(); if(option.callBack){ option.callBack(e, idx); } }); }); } }(window.jQuery, window, document)); let UI = { ready : function(){ $(document).ready(function(){ UI.fn_nav_act(); UI.fn_dim_act(); UI.fn_file_act(); UI.fn_footer_act(); UI.fn_bg_act(); }); }, fn_nav_act : function(){ var navLi = $('.ad-menu-list > li > a'); navLi.on('click',function(e){ e.preventDefault(); if(!$(this).parent().hasClass('active')){ $(this).parent().addClass('active'); $(this).parent().children('.sub-list').slideDown(400); $(this).parent().siblings().removeClass('active'); $(this).parent().siblings().children('.sub-list').slideUp(400); }else{ $(this).parent().removeClass('active'); $(this).parent().children('.sub-list').slideUp(400); } }); //토글 $('.ad-close').on('click',function(){ $(this).parent().toggleClass('off'); $('.ad-content').toggleClass('off'); }); }, //문제 은행 열기 닫기 샘플 fn_module_act : function() { let btnMore = $('.module-item .btn-more'); let closeAll = $('.close-all'); $('.btn-save').on('click',function(){ let hValue = $(this).parent().find('.module-generate').val(); if(hValue!=="") { let moduleList = $(this).parents('.module-box').find('.module-list'); moduleList.append('
  • ' + '
    ' + '
    ' + '' + '' + '
    ' + '' + '' + '
    ' + '
    ' + '' + hValue + '' + '' + '' + '' + '1402' + '' + '' + '' + '' + '
    ' + '
    ' + '' + '
    ' + '
  • '); } }); // 열기&닫기 btnMore.on('click',function(){ $(this).parent().parent().toggleClass('on'); $(this).parent().next().slideToggle(200); }); // 전체닫기 closeAll.on('click',function(){ $(this).parent().next().find('.module-item').removeClass('on'); $(this).parent().next().find('.sub-menu').slideUp(200); }); let labelClickEvent = function(e, thisObj) { e.stopPropagation(e); if(!thisObj.parent().hasClass('on')){ thisObj.parents('.module-list').find('.module-label-group').removeClass('on'); thisObj.parent().addClass('on'); } } let labelChangeEvent = function(e, thisObj, obj) { e.stopPropagation(); if(obj.value == ""){ thisObj.attr("placeholder","유형을 입력하세요."); } else { thisObj.parent().parent().find('.module-label').html(obj.value); } } $('.module-label-group').on('click',function(e) { e.stopPropagation(); }) $('.module-box').on('click','.module-label-group',function(e) { e.stopPropagation(); }) $('.module-label').on('click', function(e) { labelClickEvent(e, $(this)); }); $('.module-box').on('click', '.module-label', function(e){ labelClickEvent(e, $(this)); }); $('.module-input').change(function(e){ labelChangeEvent(e, $(this), this); }); $('.module-box').on('change', '.module-input', function(e){ labelChangeEvent(e, $(this), this); }); $('body').on('click', '#wrap', function(){ $('.module-label-group').removeClass('on'); }); }, fn_dim_act : function() { $('body').on('click','.dim, .close',function(){ var obj = '#' + $(this).closest('.pop-wrap').attr('id'); if($(obj).hasClass('not-dim')){ return; }else{ Layer_CLOSE(obj); } }); }, fn_file_act : function() { var fileTarget = $('.file-upload'); fileTarget.on('change', function(){ var cur=$(this).val(); $(this).parents('.file').find('.upload-name').val(cur); $(this).parents('.file').addClass('active'); }); }, fn_scroll_on_act : function() { var popTblWrap = $('.pgc-table-cm-cont'); var tblScroll = popTblWrap.find('.scroll'); var tbHeight = $('.scroll-table').height(); var tbBtmPoint = $('.scroll-table').prop('scrollHeight') - tblScroll.prop('clientHeight'); tbHeight > 570 ? popTblWrap.addClass('on') : popTblWrap.removeClass('on'); tblScroll.on('scroll',function(){ var scrollTop = $(this).scrollTop(); scrollTop == tbBtmPoint ? popTblWrap.removeClass('on') : popTblWrap.addClass('on'); }); }, fn_footer_act: function(){ if($('.view-content').length > 0){ $('footer').addClass('on'); } }, fn_length_check: function(){ $('.text-cnt').on('keyup', function() { $(this).parent().find('.result').html($(this).val().length); if($(this).val().length > 50) { $(this).val($(this).val().substring(0, 50)); } }); }, fn_bg_act: function(){ if( $('.bg-style2').length > 0 ) { $('html,body').css('background-color','#f9f9f9') } } } var Layer_OPEN = function (obj){ $('html').css('overflow','hidden'); $(obj).show(); $(obj).append('
    '); setTimeout(function(){ $(obj).addClass('active'); }, 10); }; var Layer_CLOSE = function (obj){ var dimLength = $('.dim').length; if ( dimLength < 2){ $('html').css('overflow',''); } $(obj).removeClass('active'); setTimeout(function(){ $(obj).find('.dim').remove(); $(obj).hide(); }, 200); }; var textResize = function( obj ){ obj.style.height = '1px'; obj.style.height = (obj.scrollHeight -2) + 'px'; }; var toggleBtn = function(obj,text1,text2) { if(!$(obj).hasClass('toggle')){ $(obj).addClass('toggle'); $(obj).find('span').html(text2); } else { $(obj).removeClass('toggle'); $(obj).find('span').html(text1); } } UI.ready();