javascriptを1つのページに2つ置いたら、片方しか動かない。
試しにHTMLに書く順番を変えたら、後ろに書いたほうが動くことがわかった。
最初は、変数とか、関数が重複していると思って、いろいろ変更したが治らないので、もっと調べるとonloadが原因だとわかった。
onloadは1ページで一回しか使えないらしく、複数使うと、最後に使ったものだけが実行されるらしい。なのでonloadで複数設定していたものを1つにまとめると解決
最初は以下のような2つを別々に書いていた。
onload = init1;
var state1;function init1() {
state1 = $(‘state1’);
itemshow1();
}
onload = init2;
var state2;function init2() {
state2 = $(‘state2’);
itemshow2();
}
これらをまとめて
onload = init;
var state1;
var state2;function init() {
state1 = $(‘state1’);
itemDisp1();state2 = $(‘state2’);
itemDisp2();
}
とするとあっさり解決して動くようになった。