/** * 最近チェックした商品ページ移動スクリプト */ var checked_list_max = 4; var checked_parts_list = new Array(); //for( ){ // checked_parts_list[pc] = new Array(5); //} /** * ページ移動処理初期化 * * このスクリプトを使用する際は、最初に呼び出すこと。 * @param int list_max リスト最大数 */ function checked_init(list_max) { checked_list_max = list_max; } /** * ページ移動処理初期化 * * このスクリプトを使用する際は、最初に呼び出すこと。 * @param int list_max リスト最大数 */ function checked_parts_init( no, parts_no, name, name_sub, note, price, href, image_src, package_num, package_mess, stock_mess ) { checked_parts_list[no] = new Array(); checked_parts_list[no][0] = parts_no; checked_parts_list[no][1] = name; checked_parts_list[no][2] = name_sub; checked_parts_list[no][3] = note; checked_parts_list[no][4] = price; checked_parts_list[no][5] = href; checked_parts_list[no][6] = image_src; checked_parts_list[no][7] = package_num; checked_parts_list[no][8] = package_mess; checked_parts_list[no][9] = stock_mess; } /** * ページ移動処理 * @param int page_distance ページ移動量 * @param int parts_cnt パーツ数 * @param string user_id ユーザID */ function checked_page_move( page_distance, parts_cnt, user_id ) { var page_no; // 移動ページ番号 var parts_inf_array; // パーツ情報配列 // 移動ページ番号取得 page_no = checked_move_page_no_get( page_distance, parts_cnt ); if ( page_no >= 0 ) { for ( var pc = 0; pc < checked_list_max; pc++ ) { // HTMLに情報設定 checked_parts_inf_set( user_id, page_no, pc, checked_parts_list, parts_cnt ); } // メッセージ初期化処理 dsp_cart_message_init(); } return; } /** * 移動ページ番号取得 * @param int page_distance ページ移動量 * @param int parts_cnt パーツ数 * @return int 移動先ページ番号 */ function checked_move_page_no_get( page_distance, parts_cnt ) { var page_no; // 移動ページ番号 var page_no_now; // 移動ページ番号 var page_max; // ページ最大数 // ページ最大数算出 page_max = Math.ceil( parts_cnt / checked_list_max ); if (page_max > 1) { // 現在ページ番号エレメント取得 checked_page_elm = document.getElementById('checked_page'); // 現在ページ番号取得 page_no_now = parseInt(checked_page_elm.innerHTML); // 現在ページに移動量加算 page_no = page_no_now + page_distance; // 最終ページでの次ページ移動時は1ページ目に戻る if (page_no > page_max) { page_no = 1; } else if (page_no <= 0) { page_no = page_max; } if (0 < page_no && page_no <= page_max) { // 現在ページ番号エレメントに次ページ番号設定 checked_page_elm.innerHTML = page_no; // 0相対に変換 page_no--; } else { // ページ移動不可 page_no = -1; } } else { page_no = -1; } return page_no; } /** * HTMLに情報設定 * @param string user_id ユーザID * @param int page_no ページ番号 * @param int list_pos リスト位置 * @param array parts_inf_array パーツ情報 * @param int parts_cnt パーツ情報数 */ function checked_parts_inf_set( user_id, page_no, list_pos, parts_inf_array, parts_cnt ) { var td_elm; // tdタグエレメント var td1_elm; // tdタグエレメント var td2_elm; // tdタグエレメント var td1_blank_elm; // tdタグエレメント var td2_blank_elm; // tdタグエレメント var add_message_elm; // 追加メッセージエレメント var fail_message_elm; // 追加メッセージエレメント var cnt_over_message_elm; // 追加メッセージエレメント var order_cnt_elm; // 注文数エレメント var name_elm; // 名称エレメント var note_elm; // ノートエレメント var price_elm; // 価格エレメント var stock_elm; // 在庫エレメント var image_elm; // 画像エレメント var a_tag_elm; // Aタグエレメント var cart_add_elm; // カートに入れるエレメント var package_mess_elm; // 単位数メッセージエレメント var td_blank_id; // tdタグエレメントID var td1_blank_id; // tdタグエレメントID var td2_blank_id; // tdタグエレメントID var td3_blank_id; // tdタグエレメントID var parts_no_id; // パーツ番号エレメントID var name_id; // 名称エレメントID var note_id; // ノートエレメントID var price_id; // 価格エレメントID var stock_id; // 在庫エレメントID var image_id; // 画像エレメントID var a_tag_id; // AタグエレメントID var cart_add_id; // カートに入れるエレメントID var package_mess_id; // 単位数メッセージエレメントID var parts_no; // パーツ番号 var name; // 名称 var name_sub; // サブ名称 var note; // ノート var price; // 価格 var href; // 画像クリック時移動先 var image_src; // 画像パス var package_num; // 単位数 var package_mess; // 単位数メッセージ var array_pos; // パーツ情報の配列参照位置 var add_click_func; // パーツ読み込み位置 array_pos = page_no * checked_list_max + list_pos; // エレメントID作成 td_id = 'checked_td' + list_pos; // tdタグのキー td1_id = 'checked_td1' + list_pos; // tdタグのキー td2_id = 'checked_td2' + list_pos; // tdタグのキー td_blank_id = 'checked_td_blank' + list_pos; // tdタグエレメントID td1_blank_id = 'checked_td1_blank' + list_pos; // tdタグエレメントID td2_blank_id = 'checked_td2_blank' + list_pos; // tdタグエレメントID name_id = 'checked_name' + list_pos; // 名称のキー note_id = 'checked_note' + list_pos; // ノートのキー price_id = 'checked_price' + list_pos; // 価格のキー stock_id = 'checked_stock' + list_pos; // 価格のキー image_id = 'checked_image' + list_pos; // 画像エレメントID a_tag_id = 'checked_a_tag' + list_pos; // AタグエレメントID cart_add_id = 'checked_cart_add' + list_pos; // カートに入れるエレメントID package_mess_id = 'checked_package_mess' + list_pos; // 単位数メッセージエレメントID // エレメント取得 td_elm = document.getElementById(td_id ); // tdタグエレメント td1_elm = document.getElementById(td1_id ); // tdタグエレメント td2_elm = document.getElementById(td2_id ); // tdタグエレメント td_blank_elm = document.getElementById(td_blank_id ); // tdタグエレメント td1_blank_elm = document.getElementById(td1_blank_id ); // tdタグエレメント td2_blank_elm = document.getElementById(td2_blank_id ); // tdタグエレメント name_elm = document.getElementById(name_id ); // 名称エレメント note_elm = document.getElementById(note_id ); // ノートエレメント price_elm = document.getElementById(price_id); // 価格エレメント stock_elm = document.getElementById(stock_id); // 価格エレメント image_elm = document.getElementById(image_id); // 画像エレメント a_tag_elm = document.getElementById(a_tag_id); // Aタグエレメント cart_add_elm = document.getElementById(cart_add_id); // カートに入れるエレメント package_mess_elm = document.getElementById(package_mess_id); // 単位数メッセージエレメント add_message_elm = elm_child_search2( td2_elm, 'div_type', 'add_message' ); fail_message_elm = elm_child_search2( td2_elm, 'div_type', 'fail_message' ); cnt_over_message_elm = elm_child_search2( td2_elm, 'div_type', 'cnt_over_message' ); order_cnt_elm = elm_child_search2( td2_elm, 'input_type','order_cnt_checked'); if ( parts_cnt > array_pos) { // パーツ情報抽出 parts_no = parts_inf_array[array_pos][0]; // パーツ番号 name = parts_inf_array[array_pos][1]; // 名称 name_sub = parts_inf_array[array_pos][2]; // サブ名称 note = parts_inf_array[array_pos][3]; // ノート price = parts_inf_array[array_pos][4]; // 価格 href = parts_inf_array[array_pos][5]; // 画像クリック時移動先 image_src = parts_inf_array[array_pos][6]; // 画像パス package_num = parts_inf_array[array_pos][7]; // 単位数 package_mess = parts_inf_array[array_pos][8]; // 単位数メッセージ stock_mess = parts_inf_array[array_pos][9]; // 在庫メッセージ // エレメントに値設定 td_elm.style.display = ''; td1_elm.style.display = ''; td2_elm.style.display = ''; td_blank_elm.style.display = 'none'; td1_blank_elm.style.display = 'none'; td2_blank_elm.style.display = 'none'; name_elm.innerHTML = name + name_sub; // 名称エレメント note_elm.innerHTML = note; // ノートエレメント if ( parseInt(price) > 0 ) { if ( parseInt(price) > 1 ) { price = price.toString().replace( /([0-9]+?)(?=(?:[0-9]{3})+$)/g , '$1,' ); price_elm.innerHTML = price + '円'; // 価格エレメント } else { price_elm.innerHTML = 'お問合せください'; // 価格エレメント } } else { price_elm.innerHTML = 'お問合せください'; // 価格エレメント } stock_elm.innerHTML = stock_mess; // 在庫エレメント image_elm.setAttribute('src', image_src); // 画像エレメント image_elm.setAttribute('alt', parts_no); // 画像エレメント image_elm.setAttribute('drag_id', parts_no); // 画像エレメント image_elm.setAttribute('drag_parts_no', parts_no); // 画像エレメント image_elm.setAttribute('drag_parts_name', name); // 画像エレメント image_elm.setAttribute('drag_parts_sub_name', name_sub); // 画像エレメント image_elm.setAttribute('drag_parts_price', price); // 画像エレメント image_elm.setAttribute('drag_parts_package_mess', package_mess); // 画像エレメント image_elm.setAttribute('drag_parts_package_num', package_num); // 画像エレメント a_tag_elm.setAttribute('href', href); // Aタグエレメント add_click_func = "dsp_cart_add_click('"+user_id+"', 'cart_list', '"+parts_no+"_frm','"+parts_no+"','"+name+"','"+name_sub+"','"+price+"','"+package_mess+"','_checked',this );"; cart_add_elm.setAttribute('onclick', add_click_func); // cart_add_elm.onclick = new Function(add_click_func); // 2023/10/19追記 add_message_elm.id = 'add_message_' + parts_no + '_checked'; fail_message_elm.id = 'fail_message_' + parts_no + '_checked'; cnt_over_message_elm.id = 'cnt_over_message_' + parts_no + '_checked'; order_cnt_elm.id = parts_no + "_frm_order_cnt_checked"; order_cnt_elm.value = "1"; order_cnt_elm.setAttribute('package_num', package_num); // 単位数 package_mess_elm.innerHTML = package_mess; } else { // エレメント非表示 td_elm.style.display = 'none'; td1_elm.style.display = 'none'; td2_elm.style.display = 'none'; td_blank_elm.style.display = ''; td1_blank_elm.style.display = ''; td2_blank_elm.style.display = ''; } return; }