私は自分のサイトの掲示板をプログラミングしています。すべてのメッセージはデータベースの自動インクリメントによってIDを取得します。ボード上のメッセージは、 "li id =#"タグの下にあり、 "li"はIDをデータベースから取得します。私はjavascriptを使ってスクロール機能を作成しようとしましたので、上下の矢印がメッセージ全体に移動します。#idでスクロールするdiv、何が間違っていますか?
down.node.onclick = function() { // down arrow
var msgs = document.getElementById("kommentit"); // the <ul> element
var a = new Array();
if (msgs.hasChildNodes()) {
var children = msgs.childNodes;
for (var i = 0; i < children.length; i++) {
if (msgs.childNodes[i].tagName == "LI") {
a.push(msgs.childNodes[i].id); // array with the id's
}
}
}
for (var i = 0; i < a.length; i++) { // this is what goes wrong
parent.location.href = '#' + 'a[i + 1]';
}
ので、配列が実際の機能が動作しない正しい値を取得しながら:
これは私がこれまで持っているものです。私がクリックすると、このコードで私は/ index.php#[a + 1]を私のURLとして取得します。
"+ a [i + 1] + ''を使用すると、ページは#undefinedで解決するまで配列全体を更新します。
IDの形式は "id-xx"なので、問題はありますか?私はmsgs.childNodes [i] .id.split( "id-")を使ってIDを分割しようとしましたが、これを行うと配列の値として "xx"が得られます。
十分に公正、それは働くことができるように見えます。ありがとう! –