独占・先行配信
';
} else if ( httpRequest.readyState == 4 && httpRequest.status === 200) {
loading.innerHTML = '';
var response = JSON.parse(httpRequest.responseText);
for(var key in response) {
if (response.e_code == "data_error") {
//エラー処理
loadingerror.innerHTML = '読み込みに失敗しました。
再読み込みは
こちら';
loadingerror.classList.add('loadingerror');
break;
}
// jsonデータ(書影やリンクは基本最新巻。同時発売の場合はその中で若い巻、新シリーズと無料枠の場合は1巻)
var sid = response[key].sid; // シリーズ番号
var prd_ser = response[key].prd_ser; // 管理番号
var rewrite_url = response[key].rewrite_url; // 書影URL
var title = response[key].title; // 作品タイトル
var author = response[key].credit1; // 著者名
var date = response[key].date_md; // 最新刊の配信日
var wayomiFlag = response[key].wayomi; // 話読み(なし:0、あり:1)
var freeCount = response[key].freecount; //無料話(巻)数
var newmark = response[key].new; // newマークタグ
var first = response[key].first; // 先行・独占タグ
var oricon = response[key].oricon; // オリコンタグ
var category = response[key].category; // 形式タグ
var code = response[key].code; //jsonデータの最後には"code":"data_end"が入る
if (sid) {
// リスト生成
var coverItem = document.createElement("li");
// 書影リンク
var coverLink = document.createElement('a');
coverLink.classList.add('gtm-clickCount');
if (list == 'newItemList' || list == 'freeItemList') { // 新シリーズと無料はitemに飛ばす
coverLink.setAttribute('href',`/renta/sc/frm/item/${sid}/`);
} else {
coverLink.setAttribute('href',`/renta/sc/frm/item/${sid}/title/${prd_ser}/`);
}
// ラベル用div
var labelWrap = document.createElement("div");
labelWrap.classList.add("c-contents_label_wrap");
// オリコンタグ
var labelOrign = document.createElement("div");
labelOrign.classList.add("c-contents_label_orign");
labelOrign.setAttribute("data-orign", oricon);
labelWrap.appendChild(labelOrign);
// 先行タグ
var labelFirst = document.createElement("div");
labelFirst.classList.add("c-contents_label_first");
labelFirst.setAttribute("data-first", first);
labelWrap.appendChild(labelFirst);
// 形式タグ
var labelType = document.createElement("div");
labelType.classList.add("c-contents_label_type");
labelType.setAttribute("data-type", category);
labelType.appendChild(document.createTextNode(category));
labelWrap.appendChild(labelType);
// 書影画像
var coverImgWrap = document.createElement("div");
coverImgWrap.classList.add('c-contents_coverwrap');
var coverImg = document.createElement("img");
coverImg.classList.add('c-contents_cover', 'lazyload');
coverImg.setAttribute("src","https://img.papy.co.jp/lc/renta/img/topics2/c_superview/lazycover.png");
coverImg.setAttribute('data-src', rewrite_url);
coverImg.setAttribute("alt", title);
// 書影組み立て
coverImgWrap.appendChild(coverImg);
labelWrap.appendChild(coverImgWrap);
coverLink.appendChild(labelWrap);
coverItem.appendChild(coverLink);
// 作品タイトル
var titleWrap = document.createElement("div");
titleWrap.classList.add('c-contents_title');
var labelTag = document.createElement("span");
labelTag.classList.add("c-contents_label_new");
labelTag.setAttribute("data-new", newmark.toLowerCase());
titleWrap.appendChild(labelTag); // newマークタグ差し込み
titleWrap.appendChild(document.createTextNode(title));
// 著者キャプション
var authorWrap = document.createElement("div");
authorWrap.classList.add('c-contents_caption');
authorWrap.appendChild(document.createTextNode(author));
// 作品表示方法のclass追加、ランキング枠とタイトル・キャプション組み立て
if (list == 'genreItemList') {
// ジャンルタブ
coverItem.classList.add('c-contents_list');
coverLink.appendChild(titleWrap);
coverLink.appendChild(authorWrap);
} else {
// おすすめタブ
coverItem.classList.add('swiper-slide');
// ランキング枠
if (list == 'rankFemaleItemList' || list == 'rankMaleItemList' || list == 'rankBlItemList' || list == 'rankTlItemList') {
var rankDescWrap = document.createElement("div"); // ランキング番号用
var rankNumberWrap = document.createElement("div");
var rankNumber = document.createElement("img");
rankDescWrap.classList.add('c-contents_rankdesc');
rankNumberWrap.classList.add('c-contents_ranknumber');
rankNumber.classList.add('c-contents_ranknumber_img');
rankNumber.setAttribute('src', `https://img.papy.co.jp/lc/renta/img/mark/common/ranking_numbers/ranking_number_${rankNumberCount}.svg`);
rankNumber.setAttribute('alt', `${rankNumberCount}位`);
rankNumberCount++;
labelTag.remove(); // NEWUPマーク削除
coverItem.appendChild(rankDescWrap); // 要素追加
rankDescWrap.appendChild(titleWrap);
rankDescWrap.appendChild(authorWrap);
rankDescWrap.appendChild(rankNumberWrap);
rankNumberWrap.appendChild(rankNumber);
} else {
// ランキング以外の枠
coverLink.appendChild(titleWrap);
coverLink.appendChild(authorWrap);
// (新シリーズ枠、続刊枠、配信予定枠のみ)配信日追加
if (list == 'newItemList' || list == 'upItemList' || list =='prereleaseItemList') {
var releaseDateWrap = document.createElement('div');
var releaseDate = document.createElement('span');
var releaseDateText = document.createTextNode(`${date}配信`);
releaseDateWrap.classList.add('c-contents_caption');
releaseDate.classList.add('red');
coverLink.appendChild(releaseDateWrap);
releaseDateWrap.appendChild(releaseDate);
releaseDate.appendChild(releaseDateText);
}
}
}
// ボタン追加
var readBtn;
if (list == 'rankFemaleItemList' || list == 'rankMaleItemList'|| list == 'rankBlItemList' || list == 'rankTlItemList') {
// ランキング枠 ボタンなし
} else if (list == 'prereleaseItemList') {
// 配信予定枠 マイリストボタン
var mylistBtn = document.createElement('a');
var mylistImg = document.createElement('img');
var mylistTextWrap = document.createElement('span');
var mylistText = document.createTextNode('マイリスト登録');
mylistBtn.setAttribute('onclick', `addMylist(${sid});`)
mylistBtn.setAttribute('data-gtmclickcount',`precede-mylistbtn_${sid}`);
mylistBtn.classList.add('c-btn_small', 'c-btn_secondary', 'precede_mylistbtn', 'gtm-clickCount');
mylistImg.setAttribute('src', 'https://img.papy.co.jp/lc/renta/img/mark/common/icon_mylist_outline.svg')
mylistImg.setAttribute('alt', 'マイリストに登録する');
mylistBtn.appendChild(mylistImg);
mylistTextWrap.appendChild(mylistText);
mylistBtn.appendChild(mylistTextWrap);
coverLink.after(mylistBtn);
} else {
readBtn = document.createElement('a')
// その他 試し読み・無料ボタン
readBtn.classList.add('c-btn_small','gtm-clickCount');
if (list == 'freeItemList') {
// 無料枠のとき
readBtn.setAttribute('href',`javascript:;`);
readBtn.setAttribute('onclick',`jump_viewer('/renta/sc/read_free.cgi?prd_tid=9-${prd_ser}');return false;`);
readBtn.classList.add('c-btn_free');
var readBtnText;
if (wayomiFlag == 0) {
var readBtnText = document.createTextNode(`${freeCount}巻無料`);
} else{
var readBtnText = document.createTextNode(`${freeCount}話無料`);
}
} else {
// 無料枠以外
readBtn.setAttribute('href',`javascript:;`);
readBtn.setAttribute('onclick',`jump_viewer('/renta/sc/smpl.cgi?prd_tid=9-${prd_ser}');return false;`);
readBtn.classList.add('c-btn_secondary');
var readBtnText = document.createTextNode('試し読み');
}
readBtn.appendChild(readBtnText);
coverItem.appendChild(readBtn);
}
// 作品リスト組み立て
if (list == 'genreItemList') {
// ジャンルタブのとき
genreItemList.appendChild(coverItem);
// クリック計測値設定
coverLink.setAttribute('data-gtmclickcount',`precede-genretab_${tabMenuGenre}_${sid}`);
readBtn.setAttribute('data-gtmclickcount',`precede-genretab_${tabMenuGenre}_${sid}`);
} else {
// おすすめタブのとき
// クリック計測値設定
coverLink.setAttribute('data-gtmclickcount',`precede-${list}_${sid}`);
if(readBtn) {
readBtn.setAttribute('data-gtmclickcount',`precede-${list}_${sid}`);
}
if (list == 'newItemList') {
// おすすめタブ 新刊枠新シリーズ
newItemList.appendChild(coverItem);
} else if (list == 'upItemList') {
// おすすめタブ 新刊枠続刊
upItemList.appendChild(coverItem);
} else if (list == 'prereleaseItemList') {
// おすすめタブ 配信予定枠
prereleaseItemList.appendChild(coverItem);
} else if (list == 'rankFemaleItemList') {
// おすすめタブ ランキング枠女性向け
rankFemaleItemList.appendChild(coverItem);
if (rankNumberCount == 21) { // ランキング数字
break;
}
} else if (list == 'rankMaleItemList') {
// おすすめタブ ランキング枠男性向け
rankMaleItemList.appendChild(coverItem);
if (rankNumberCount == 21) {
break;
}
} else if (list == 'rankBlItemList') {
// おすすめタブ ランキング枠BL
rankBlItemList.appendChild(coverItem);
if (rankNumberCount == 21) {
break;
}
} else if (list == 'rankTlItemList') {
// おすすめタブ ランキング枠TL
rankTlItemList.appendChild(coverItem);
if (rankNumberCount == 21) {
break;
}
} else if (list == 'freeItemList') {
// おすすめタブ 無料枠
freeItemList.appendChild(coverItem);
} else if (list == 'exclusiveItemList') {
// おすすめタブ 独占先行枠
exclusiveItemList.appendChild(coverItem);
}
}
}
// console.log(code);
// ローディング終了
if (genreTab_flg == 1 && code == "data_end") {
flg_load_stop = 1;
data_end_flg = 1;
loadingerror.style.display = "none";
break;
}
}
//枠組み立て
if (list == 'genreItemList') {
genreItemWrap.appendChild(genreItemList);
} else if (list == 'rankFemaleItemList' || list == 'rankMaleItemList' || list == 'rankBlItemList' || list == 'rankTlItemList') {
rankNumberCount = 1;
} else if (list == 'newItemList') {
newItemWrap.firstElementChild.appendChild(newItemList);
} else if (list == 'upItemList') {
upItemWrap.firstElementChild.appendChild(upItemList);
} else if (list == 'prereleaseItemList') {
prereleaseItemWrap.firstElementChild.appendChild(prereleaseItemList);
} else if (list == 'freeItemList') {
freeItemWrap.firstElementChild.appendChild(freeItemList);
} else if (list == 'exclusiveItemList') {
exclusiveItemWrap.firstElementChild.appendChild(exclusiveItemList);
}
//ジャンルタブのときにスクロールで追加作品読み込み
if (genreTab_flg == 1 && data_end_flg == 0) {
dispPageCount +=1;
nowstop_flag = nowstop_flag+1;
}
}
}
}
/****************** 作品生成 ******************/
/****************** マイリスト登録 ******************/
function addMylist(link) {
var url = "/renta/sc/mylist.cgi?act=add&key=series_id&val=" + link;
var httpRequest = new XMLHttpRequest();
httpRequest.open("GET", url, true);
httpRequest.setRequestHeader('X-Requested-With','XMLHttpRequest');
httpRequest.send(null);
httpRequest.onreadystatechange = function() {
if ( httpRequest.readyState == 4 ) {
var text = JSON.parse(httpRequest.responseText);
if (text.rslt.code == 'SUCCESS') {
popupToggle('open','dialogItem');
}else {
var title = 'マイリスト登録';
if (text.rslt.message == 'size over') {
alert("マイリストの登録件数が上限に達しています。");
} else if (text.rslt.message == 'logoff') {
alert("ログインが必要です。\nお手数ですが、ログイン後に再度お試しください。");
window.location.href = '/renta/sc/jump/login/';
} else if (text.rslt.message == 'data error' || text.rslt.message == 'series is nothing'){
alert("この作品はまだマイリスト登録が行えません。");
} else {
alert("マイリスト登録が正常に行えませんでした。");
}
popupInput(title,desc,'center','none',btn,btnText);
}
}
}
}
/****************** マイリスト登録 ******************/
/****************** ジャンルタブ スクロール読み込み ******************/
// 200件ごとに追加で読み込む
var documentHeight = $(document).height(); //画面サイズ
documentHeight = parseInt(documentHeight/2.5);
$(document).ready(function() {
$(window).scroll(function() {
if (genreTab_flg == 1) {
if ( data_end_flg == 1 ) { return; }
var current = $(window).scrollTop() + window.innerHeight;
var heightY = $(document).height();
if (current < (heightY-documentHeight) ) { return; }
if (stop_flg == nowstop_flag) { //数回読み込んでしまう
if (data_end_flg == 0) {
if (sortTabRank.classList.contains('sorttab_on')) {
var sort = 'rank';
} else {
var sort = 'new';
}
createPrecedeContents(genre, dispPageCount, sort);
}
stop_flg = stop_flg+1;
}
}
});
});
/****************** ジャンルタブ スクロール読み込み ******************/