티스토리 뷰
/**
* Toc parameter setting...
* **/
function setTocParams(){
var jsonToc = $('#toc').val();
//addTocVal('toc', jsonToc);
//$('#toc').remove();
var parsedToc = jQuery.parseJSON(jsonToc);
$.each(parsedToc,function(key,value) {
console.log('key:'+key+', value:'+JSON.stringify(value));
addTocVal(key,JSON.stringify(value));
});
}
function addTocVal(item, itemVal){
localStorage.setItem(item,itemVal);
}
function getTocVal(item){
return localStorage.getItem(item);
}
//for vol, count
function getTocValSub(item,subItem){
var itemVal = localStorage.getItem(item);
var parsedItemVal = JSON.parse(itemVal, function (key, value) {
return value;
});
return parsedItemVal[subItem];
}
function setTestBookMark(){
var bookmarklist = {};
var bookmark={};
var marknum = '000';
var markval= '{"param_no":"CNTS-00052461629","curVol":"1","page":30,"srcpath":"\\\\192.168.100.40/ImgNcldbY/2007/KJU200606112","vols_count":256,"title":"여기까지","msg":"여기까지 읽음"}';
markval = markval.replace(/\\/g, "");
bookmark[marknum]=markval;
bookmarklist['bookmarklist']=bookmark;
$.each(bookmarklist,function(key,value) {
console.log('key:'+key+', value:'+value);
$.each(value,function(subkey,subvalue) {
console.log('subkey:'+subkey+', subvalue:'+subvalue);
});
});
localStorage.setItem('bookmarklist',JSON.stringify(bookmark)); //save object bookmark
}
//북마크 리스트
function displayBookMark(){
$('#bookmark-list').html(''); //목록 초기화
var booklist = localStorage.getItem('bookmarklist');
$.each(JSON.parse(booklist),function(key,value) {
console.log('key:'+key+', value:'+value);
$.each(JSON.parse(value), function(subkey,subvalue) {
//console.log('subkey:'+subkey+', subvalue:'+subvalue);
});
var book =JSON.parse(value);
var volpath= book.curVol=='0'?"/":"/vol"+book.curVol+"/";
var thumbpath = "/thumb/"+book.param_no+volpath;
var thumbno = "00000000"+book.page;
thumbno = (thumbno).substring(thumbno.length - 8, thumbno.length);
var src = thumbpath+thumbno+".png";
var bookhtml= '<li><button type="button" class="btn-boomark-del" onclick="delBookMark();">삭제</button>';
bookhtml += '<a href="#" onclick=\"loadVol(\''+book.param_no+'\',\''+book.curVol+'\','+'\'\\\\'+book.srcpath+'\','+book.vols_count+','+book.page+');\">';
bookhtml += '<div class="thumb"><img src="'+src+'"></div>';
bookhtml += '<div class="context">';
bookhtml += '<span class="vol">'+book.curVol+'</span>';
bookhtml += '<span class="pg">'+book.page+'</span>';
bookhtml += '<p class="tit">'+book.title+'</p>';
bookhtml += '<p class="text">'+book.msg+'</p>';
bookhtml += '</div>';
bookhtml += '</a>';
bookhtml += '</li>';
$('#bookmark-list').append(bookhtml);
});
}
var bookmarkNo=0;
function addBookMark(param_no,curVol,page,srcpath,vols_count,title,msg){
console.log('addBookMark..');
//new bookmark
var bookmark={};
//목록 불러오기
var booklist = JSON.parse(localStorage.getItem('bookmarklist'));
//북마크번호 (100개)
var marknum = '00'+(++bookmarkNo);
marknum = (marknum).substring(marknum.length - 3, marknum.length);
var markval= '{"param_no":"CNTS-00052461629","curVol":"1","page":30,"srcpath":"\\\\192.168.100.40/ImgNcldbY/2007/KJU200606112","vols_count":256,"title":"여기까지","msg":"여기까지 읽음"}';
markval = markval.replace(/\\/g, "");
booklist[marknum]=markval; //marknum으로 추가됨.
//bookmarklist['bookmarklist']=bookmark; //추가 후 같은 이름으로 저장
/* $.each(bookmarklist,function(key,value) {
console.log('key:'+key+', value:'+value);
$.each(value,function(subkey,subvalue) {
console.log('subkey:'+subkey+', subvalue:'+subvalue);
});
});*/
localStorage.setItem('bookmarklist',JSON.stringify(booklist)); //save object bookmark
displayBookMark();
}
function delBookMark(book_no){
console.log(book_no);
displayBookMark();
}
function loadView(vol_no,vol_pages,start_page){
var viewer = localStorage.getItem('thumbList');
initImgSizeRate(vol_no,vol_pages,start_page);
}
//다권본 volume & page 이동
function loadVol(control_no,parm_vol,toc_path,vol_pages,start_page){
if(curVol == parm_vol){
$(".magazine").turn("page", start_page);
}else{
//init magazine
if ( $( '#magazine' ).turn( 'is' ) ) {
$( '#magazine' ).turn( 'destroy' );
$('#magazine').html('');
$( window ).unbind( 'keydown' );
}
//init thumbnail
$('#thumbList').html('');
/*generateThumbnail(getTocVal('id'),vol_no,getTocVal('tocPath')); //썸네일생성
generateThumbHtml(getTocVal('id'),vol_no,Number(vol_pages)); //썸네일html생성
updateThumbSrc(getTocVal('id'),vol_no); */
generateThumbnail(control_no,parm_vol,toc_path); //썸네일생성
generateThumbHtml(vol_pages); //썸네일html생성
updateThumbSrc(control_no,parm_vol);
curVol = parm_vol; //현재볼륨 설정
setTimeout(function(){
//thumbnail lightSlider 썸네일 슬라이더 설정
thumbSlider.refresh();
initImgSizeRate(parm_vol,vol_pages,start_page);
}, 2000);
}
}
//thumbnail lazy-loading
function layzyloading(vol_pages,start_page){
var control_no = objInfo.cno;
var vol = curVol;
var volpath= vol=='0'?"/":"/vol"+vol+"/";
//alert(volpath);
var thumbpath = "/thumb/"+control_no+volpath;
var spage=0;
var epage=10;
if(start_page>10){
spage=start_page-10;
if(vol_pages>start_page+10){
epage=start_page+10
}else{
epage=vol_pages;
}
}
for(var i=spage;i<epage;i++){
var thumbno = "00000000"+i;
thumbno = (thumbno).substring(thumbno.length - 8, thumbno.length);
var src = thumbpath+thumbno+".png";
$('#thumb'+page).attr("src",src);
}
}
//thumbnail src update
function updateThumbSrc(control_no, vol){
var volpath= vol=='0'?"/":"/vol"+vol+"/";
//alert(volpath);
var thumbpath = "/thumb/"+control_no+volpath;
$("#thumbList > li > a > div > img").each(function(index, item){
setTimeout(function(){
var thumbno = "00000000"+(index+1);
thumbno = (thumbno).substring(thumbno.length - 8, thumbno.length);
var src = thumbpath+thumbno+".png";
$(item).attr("src",src);
}, 1500+index*20);
});
}
function generateThumbHtml(vol_pages){
//alert(vol_pages+1);
var thumbHtml = '';
for(var i=1; i<vol_pages+1;i++){
thumbHtml +='<li>';
thumbHtml +=' <a href="#" class="item" onclick="goPage('+i+')">';
thumbHtml +=' <div class="thumb_img"><img id="thumb'+i+'" src="/viewer/images/ajax-loader.gif" alt="페이지번호"/></div>';
thumbHtml +=' <div class="pageDisplay"><span class="pageNum">'+i+'</span></div>';
thumbHtml +='</a>';
thumbHtml +='</li>';
}
//alert(thumbList);
$('#thumbList').html(thumbHtml);
}
function generateThumbnail(control_no, trg_vol,tocPath){
var mkUrl = "/nlmivs/thumb/imgMagick.jsp";
var formdata = {cno:control_no,vol:trg_vol,srcpath:tocPath};
console.log(formdata);
$.ajax({
url : mkUrl,
method: "POST",
async: false,
data: formdata
}).done(function(result) {});
}
function showTocLog(){
var toc = localStorage.getItem('toc');
console.log(toc);
}
'javascript' 카테고리의 다른 글
[Javascript] json length object add (0) | 2017.07.18 |
---|
- Total
- Today
- Yesterday
- PyQt
- 프로젝트관리전문가
- 명령어
- Android
- SW대회
- 소프트웨어대회
- 온라인저지
- ORACLE 프로시져생성
- WSS
- 관련사이트
- signtool
- 파이썬
- 자유한국당
- websocket
- qwebview
- setup.py
- 더불어 민주당
- 디지털서명
- 코드스쿨
- 리눅스
- .svn
- 안드로이드 화면 밝기 조절
- 파이썬프레임워크
- IT-PMP
- 프로그래밍대회
- 타임스탬프
- Python
- 사용법
- 서버주소
- stamp
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |