コメント文、コメントサイズ、コメントカラー、コメントスピードを全て読み込む(現段階で4MBメモリ消費見込み)
↓
一度に表示するコメント数を原則100個にする(コメントされたらページが更新されるまでその分増やす)
↓
あるコメントが流れ終わった
↓
その文字列を次枠のコメント文(あらかじめコメントを何番目まで読み込んだか記憶しておく)に差し替える
↓
また流す
ここで問題が発生しました。原因不明のバグです。
eleX = eval(ele.style.left.replace(/px/,"")); //数値の部分だけを数値として取り出す
の部分(25行目)で
Uncaught TypeError: Cannot read property 'style' of null
というエラーがまず1000個ほど出て、その後全く同じエラー(場所も)がもう一つ出て、こちらはどんどんエラー数が増えていきます。"style"が無いという事は、オブジェクトが作られていないという事でしょうか。
function move()
{
var ele; //オブジェクト用
var eleX; //コメントのx座標を数値として記録させておく
var nowWinSize; //ウインドウの幅を記録させておく
var comSca;
if(window.innerWidth){
nowWinSize = window.innerWidth; //ウインドウの幅を取得
} else if(document.documentElement.clientWidth){
nowWinSize = document.documentElement.clientWidth; //ウインドウの描画可能領域の取得
}
comSca = Math.floor(commentNum / 20);
//コメントの数だけ繰り返す
for(i=0; i<commentActNum; i++){
ele = document.getElementById("comment"+i); //"comment"+i のIDのオブジェクトデータを渡す
if(commentAct==1){
//↓コメントが表示設定のとき↓
eleX = eval(ele.style.left.replace(/px/,"")); //数値の部分だけを数値として取り出す
eleX -= commentSpeed[i]; //x座標移動
if(ele.textContent) str=ele.textContent;
else str=ele.innerText;
//コメントが画面を通り過ぎた ならば
if(eleX < (-1)*str.length*intComSize[i]){
//コメントを差し替える処理(これから書くところ)
eleX = Math.floor( Math.random()*nowWinSize*comSca +nowWinSize ); //新しいx座標初期値を設定
ele.style.top = ( Math.floor(Math.random()*1400)+300 )+"px"; //新しいy座標初期値を設定
}
ele.style.left = eleX+"px"; //x座標設定
//↑コメントが表示設定のとき↑
}else{
//コメントが非表示設定のとき
ele.style.left = ( Math.floor(Math.random()*nowWinSize*comSca +nowWinSize) )+"px";
}
}
}