// JavaScript Document var setID = "feed"; //表示させる箇所のID var listNum = 10;//最大表示件数 var animFlag = false;//アニメーション用フラグ(全て読み込み完了かどうか) var delaySpeed=150; /*読み込みの遅延速度*/ var fadeSpeed=500; /*表示時のアニメーション(フェード)時間*/ $(function() { $.getJSON("/clouds/" , ittemiaCallback); // $.getJSON("/wp-content/themes/top/clouds.php?rs=1" , ittemiaCallback2);//最近の実績専用 }); //データ読み込み時のコールバック関数 function ittemiaCallback(obj) { if(obj == null) { if(_isDebug>0) { alert('引数が不正です。'); } return; } var //ulObj = $("#demo"), len = obj.length; /* for(var i = 0; i < len; i++) { //ulObj.append($("
  • ").attr({"id":data[i].id}).text(data[i].name)); var date_str = String(obj[i].pubDate).replace(/[-|:| ]/g,','); var date = new Date(date_str); obj[i].sortDate = ( date.getFullYear()*10000 ) + ( (date.getMonth() + 1)*100 ) + date.getDate(); } //日付でソート asort(obj, "sortDate") */ feedOutput(obj); } //データ読み込み時のコールバック関数(最近の実績) function ittemiaCallback2(obj) { if(obj == null) { if(_isDebug>0) { alert('引数が不正です。'); } return; } feedOutput2(obj); } // 出力 function feedOutput(entryArray){ //今日の日付から30日前の日付を取得 var compareDate = computeDate(new Date(),-30); if(listNum > entryArray.length) listNum = entryArray.length; //雲の座標配列 var xy_array = [[0,0],[220,0],[440,0],[660,0],[0,110],[220,110],[440,110],[660,110],[880,110],[880,0]]; // 配列の中身をランダムに並び替える xy_array.sort( function() { return Math.random() - 0.5; } ); var useFeed = ''; var container = document.getElementById(setID); for (var l = 0; l < listNum; l++) { var entry = entryArray[l]; var title = entry.title; //記事タイトル取得 //35文字以上は省略 if(title.length > 35){ title = title.substr(0,35)+'...'; } var blogname = entry.blogtitle; //ブログ名でクラス振り分け if(blogname == 'メンバー紹介') var cls = 'member'; if(blogname == '社長日記') var cls = 'president'; if(blogname == '今日のおかし') var cls = 'okashi'; // if(blogname == 'リレー小説') var cls = 'novel'; if(blogname == 'ミムログ') var cls = 'mimulog'; if(blogname == 'Today\'s COMBRIDGE') var cls = 'mimubridge'; if(blogname == 'サービス紹介') var cls = 'service'; // if(blogname == 'ランニング同好会') var cls = 'yotsuya'; // if(blogname == 'TadaimaJapan更新情報') var cls = 'tadaima'; if(blogname == 'そこに山と滝があるから') var cls = 'contents-a'; if(blogname == 'イベント屋さんの道具箱') var cls = 'contents-c'; //xyをちょっとだけランダムにする var dy = xy_array[l][1] + Math.floor(Math.random()*20 - 10); var dx = xy_array[l][0] + Math.floor(Math.random()*10 - 5); var link = entry.link; //記事のリンクを取得 //日付を取得し年月日を整形 var publishedDate = entry.pubDate.split("-").join("/"); //var date_str = String(obj[i].pubDate).replace(/[-|:| ]/g,','); var pubDD = new Date(publishedDate); //14日前の日付より古いものは表示しない if(compareDate < pubDD) { yy = pubDD.getYear();if (yy < 2000) { yy += 1900; } mm = pubDD.getMonth() + 1;dd = pubDD.getDate(); var pubDate = yy +'.'+ mm +'.'+ dd; if(blogname == 'リレー小説') { useFeed += '

    '+entry.blogtitle+'

    '+pubDate+'

    '+title+' - '+entry.category+'
    '; }else if(blogname != '社長日記') { //2017.6.30非表示 useFeed += '

    '+entry.blogtitle+'

    '+pubDate+'

    '+title+'
    '; } //$('#feed').append(useFeedObj); } } // container.innerHTML = useFeed; $("#"+setID).append(useFeed); $('#'+setID).children().each(function(index, element) { $(this).css({display:'block',opacity:'0'}); }); //if(animFlag) { $('#'+setID).children().each(function(index, element) { $(this).delay(index*(delaySpeed)).css({display:'block',opacity:'0'}).animate({opacity:'1'},fadeSpeed); }); setTimeout('rect()'); //アニメーションを実行 /* }else{ animFlag = true; } */ } /*雲のループアニメーション*/ function rect() { $('.cloud').animate({ marginTop: '-=5px' }, 1400).animate({ marginTop: '+=5px' }, 1400); setTimeout('rect()', 2800); //アニメーションを繰り返す間隔 } // 出力(最近の実績専用 function feedOutput2(entryArray){ //雲の座標配列 var xy_array = [[880,0]]; var useFeed = ''; var container = document.getElementById(setID); for (var l = 0; l < 1; l++) { var entry = entryArray[l]; var title = entry.title; //記事タイトル取得 //35文字以上は省略 if(title.length > 35){ title = title.substr(0,35)+'...'; } var blogname = entry.blogtitle; //ブログ名でクラス振り分け if(blogname == 'サービス紹介') var cls = 'service'; var blogname = entry.blogtitle; //xyをちょっとだけランダムにする var dy = xy_array[l][1] + Math.floor(Math.random()*20 - 10); var dx = xy_array[l][0] + Math.floor(Math.random()*10 - 5); var link = entry.link; //記事のリンクを取得 //日付を取得し年月日を整形 var publishedDate = entry.pubDate; var pubDD = new Date(publishedDate); yy = pubDD.getYear();if (yy < 2000) { yy += 1900; } mm = pubDD.getMonth() + 1;dd = pubDD.getDate(); var pubDate = yy +'.'+ mm +'.'+ dd; useFeed += '

    '+entry.blogtitle+'

    '+pubDate+'

    '+title+'
    '; } $("#"+setID).append(useFeed); $('#'+setID).children().each(function(index, element) { $(this).css({display:'block',opacity:'0'}); }); if(animFlag) { $('#'+setID).children().each(function(index, element) { $(this).delay(index*(delaySpeed)).css({display:'block',opacity:'0'}).animate({opacity:'1'},fadeSpeed); }); setTimeout('rect()'); //アニメーションを実行 }else{ animFlag = true; } } // ソート関数 function asort(myArray, key){ //return myArray.sort ( function (b1, b2) { return b1[key] > b2[key] ? 1 : -1; } );//昇順 return myArray.sort ( function (b1, b2) { return b1[key] > b2[key] ? -1 : 1; } );//降順 } //n日後、n日前の日付を求める /** * 年月日と加算日からn日後、n日前を求める関数 * year 年 * month 月 * day 日 * addDays 加算日。マイナス指定でn日前も設定可能 */ function computeDate(dt, addDays) { // var dt = new Date(year, month - 1, day); var baseSec = dt.getTime(); var addSec = addDays * 86400000;//日数 * 1日のミリ秒数 var targetSec = baseSec + addSec; dt.setTime(targetSec); return dt; }