// RGB 코드 헥사코드 변환 function RGBToHex(rgb) { let sep = rgb.indexOf(",") > -1 ? "," : " "; rgb = rgb.substr(4).split(")")[0].split(sep); let r = (+rgb[0]).toString(16), g = (+rgb[1]).toString(16), b = (+rgb[2]).toString(16); if (r.length == 1) r = "0" + r; if (g.length == 1) g = "0" + g; if (b.length == 1) b = "0" + b; return "#" + r + g + b; } // 배경밝기에 따라 반전된 폰트 칼라 적용 function convertColor(hex) { hex = hex.replace('#', ''); r = parseInt(hex.substring(0, 2), 16); g = parseInt(hex.substring(2, 4), 16); b = parseInt(hex.substring(4, 6), 16); var o = Math.round(((parseInt(r) * 299) + (parseInt(g) * 587) + (parseInt(b) * 114)) / 1000); if (o > 125) { result = true; } else { result = false; } return result; } function getPofileView(modal,mbruid) { $.post(rooturl+'/?r='+raccount+'&m=member&a=get_profileData',{ mbruid : mbruid, type : 'modal' },function(response){ var result = $.parseJSON(response); var profile=result.profile; var nic=result.nic; modal.find('[data-role="title"]').text(nic); modal.find('.content').html(profile); modal.find('[data-role="cover"]').load(function(){ var colorThief = new ColorThief(); var coverImage = modal.find('[data-role="cover"]')[0]; var cover_rgb = colorThief.getColor(coverImage); modal.find('.bar').css('background-color', 'rgb(' + cover_rgb + ')'); var _cover_rgb = modal.find('.bar').css('background-color'); var cover_hex = RGBToHex(_cover_rgb) if (convertColor(cover_hex)) { modal.find('.bar').removeClass('bar-dark').addClass('bar-light'); } else { modal.find('.bar').removeClass('bar-light').addClass('bar-dark'); } }); modal.find('.content [data-plugin="timeago"]').timeago(); var nav_control = modal.find('.profile-nav-control') var swiper_member_profile = new Swiper('#modal-member-profile-'+mbruid+' .swiper-container', { autoHeight: true, pagination: { el: '#modal-member-profile-'+mbruid+' .bar-header-secondary .nav-inline', clickable: true, autoHeight: true, effect : 'fade', spaceBetween: 30, slideActiveClass :'active', bulletClass : 'nav-link', bulletActiveClass : 'active' , autoHeight : true, renderBullet: function (index, className) { var title; if (index === 0) title = '홈'; if (index === 1) title = '동영상' if (index === 2) title = '재생목록' if (index === 3) title = '커뮤니티' if (index === 4) title = '채널' if (index === 5) title = '정보' return ''+title+''; }, }, on: { init: function () { console.log('swiper 초기화'); }, } }); swiper_member_profile.on('slideChange', function () { var index = swiper_member_profile.activeIndex nav_control.find('.nav-link').removeClass('active') nav_control.find('[data-index="'+index+'"]').addClass('active') setTimeout(function(){ modal.find('.content').animate({scrollTop:0}, '400'); }, 600); var currentPage =1; // 처음엔 무조건 1, 아래 더보기 진행되면서 +1 증가 var recnum = 10; //무한 스크롤 환경 초기화 modal.find('.infinitescroll-end').remove(); modal.find('.content .content-padded [data-role="list"]').empty(); // var content_markup = modal.find('.content').clone().wrapAll("
").parent().html(); // modal.find('.content').infinitescroll('destroy'); // modal.append(content_markup); if (index==0) { // 프로필 홈 } if (index==1) { // 동영상 modal.find('[data-role="postList"] [data-role="list"]').loader({ position: 'inside' }); $.post(rooturl+'/?r='+raccount+'&m=member&a=get_profilePost',{ mbruid : mbruid, format : 2, //video type : 'modal', recnum : recnum },function(response){ var result = $.parseJSON(response); var postlist=result.list; var postnum=result.num; var totalPage=result.tpg; modal.find('[data-role="postList"] [data-role="list"]').html(postlist); if (postnum) { modal.find('[data-role="postList"] .btn').show(); if (postnum>recnum) { //무한 스크롤 modal.find('.content').infinitescroll({ dataSource: function(helpers, callback){ var nextPage = parseInt(currentPage)+1; if (totalPage>currentPage) { $.post(rooturl+'/?r='+raccount+'&m=member&a=get_profilePost',{ mbruid : mbruid, format : 2, //video type : 'modal', recnum : recnum, p : nextPage },function(response) { var result = $.parseJSON(response); var error = result.error; var list=result.list; if(error) alert(result.error); callback({ content: list }); currentPage++; // 현재 페이지 +1 console.log(currentPage+'페이지 불러옴') wrapper.find('[data-plugin="timeago"]').timeago(); //wrapper.find('[data-plugin="markjs"]').mark(keyword); // marks.js swiper_member_profile.updateAutoHeight(100); }); } else { callback({ end: true }); console.log('더이상 불러올 페이지가 없습니다.') } }, appendToEle : modal.find('[data-role="postList"] .content-padded'), percentage : 85, // 95% 아래로 스크롤할때 다움페이지 호출 hybrid : false // true: 버튼형, false: 자동 }); } } else { modal.find('[data-role="postList"] .btn').hide(); } swiper_member_profile.updateAutoHeight(100); modal.find('[data-role="postList"] [data-role="list"] [data-plugin="timeago"]').timeago(); }); } if (index==2) { // 리스트 modal.find('[data-role="listList"] [data-role="list"]').loader({ position: 'inside' }); $.post(rooturl+'/?r='+raccount+'&m=member&a=get_profileList',{ mbruid : mbruid, type : 'modal' },function(response){ var result = $.parseJSON(response); var listlist=result.list; var listnum=result.num; modal.find('[data-role="listList"] [data-role="list"]').html(listlist); if (listnum) modal.find('[data-role="listList"] .btn').show(); else modal.find('[data-role="listList"] .btn').hide(); swiper_member_profile.updateAutoHeight(100); modal.find('[data-role="listList"] [data-role="list"] [data-plugin="timeago"]').timeago(); }); } if (index==3) { // 커뮤니티 modal.find('[data-role="commList"] [data-role="list"]').loader({ position: 'inside' }); $.post(rooturl+'/?r='+raccount+'&m=member&a=get_profileComm',{ mbruid : mbruid, type : 'modal' },function(response){ var result = $.parseJSON(response); var commlist=result.list; var commnum=result.num; modal.find('[data-role="commList"] [data-role="list"]').html(commlist); swiper_member_profile.updateAutoHeight(100); modal.find('[data-role="commList"] [data-role="list"] [data-plugin="timeago"]').timeago(); }); } if (index==4) { // 채널 modal.find('[data-role="followList"] [data-role="list"]').loader({ position: 'inside' }); $.post(rooturl+'/?r='+raccount+'&m=member&a=get_profileFollow',{ mbruid : mbruid, type : 'modal' },function(response){ var result = $.parseJSON(response); var followlist=result.list; var follownum=result.num; modal.find('[data-role="followList"] [data-role="list"]').html(followlist); swiper_member_profile.updateAutoHeight(100); modal.find('[data-role="followList"] [data-role="list"] [data-plugin="timeago"]').timeago(); }); } }); nav_control.find('.nav-link').click(function(){ var index = $(this).data('index') swiper_member_profile.slideTo(index); }); }); // edgeEffect var wrapper_startY = 0; modal.find('.content').on('touchstart',function(event){ wrapper_startY = event.originalEvent.changedTouches[0].pageY; }); modal.find('.content').on('touchmove',function(event){ var wrapper_moveY = event.originalEvent.changedTouches[0].pageY; var wrapper_contentY = $(this).scrollTop(); if (wrapper_contentY === 0 && wrapper_moveY > wrapper_startY) { if (wrapper_moveY-wrapper_startY>80) { edgeEffect(modal,'top','show'); } } if( (wrapper_moveY < wrapper_startY) && ($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight)) { if (wrapper_startY-wrapper_moveY>80) { edgeEffect(modal,'bottom','show'); } } }); } // getPofileView