- ベストアンサー
リンクを順番にクリックしながら同じ別窓に上書きで表示する方法
- リンクを順番にクリックしながら、同じ別窓に上書き表示する方法について教えてください。
- クリックしたリンクを30秒ごとに別窓に表示し続ける方法を知りたいです。
- クリックしたリンクを開いたまま、読み込み完了後に戻ることなく表示し続ける方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ごめんなさい m(__)m 少々タイプミスがあったようです <html> <!-- myloadに修正 --> <body onload="myload()"> <input type=hidden id=myData value=0> <a href="http://www.google.co.jp/" target="test">Google</a> <a href="http://yahoo.co.jp/" target="test">Yahoo!</a> <a href="http://goo.ne.jp/" target="test">goo</a> <!-- typeの後ろに『"』が必要でした --> <script type="text/javascript"> <!-- var myID; function myload() { // 30秒なら30000 40秒なら40000とします myID = setInterval( "mytimer()", 5000 ); } function mytimer() { // タイマーを解除 clearInterval( myID ); // getElementByIdに修正 var n = new Number( document.getElementById("myData").value ); // getElementsByTagNameに修正 var len = document.getElementsByTagName("A").length document.getElementsByTagName("A")[n].click(); n++; n %= len; // getElementByIdに修正 document.getElementById("myData").value = n; // 次回起動用のタイマーを設定 // mytimerを呼ぶように修正 if ( n != 0 ) myID = setInterval( "mytimer()", 30000 ); } //--> </script> </body> </html> これで大丈夫だと思います
その他の回答 (1)
- redfox63
- ベストアンサー率71% (1325/1856)
setIntervalを使えば可能なようです 現在何番目のリンクをクリックしたのかを覚えておくhiddenフィールドを作成しておきます <input type=hidden id=myData value=0> Aタグには target="main" といった属性つけておけば同じ別ウィンドウに表示されます bodyタグのonloadイベントsetIntervalを設定してタイマーイベントでAタグのclickメソッドを呼ぶようにします <body onload="myclick()"> <script type=text/javascript"> <!-- var myID; function myload() { // 30秒なら30000 40秒なら40000とします myID = setInterval( "mytimer()", 30000 ); } function mytimer() { // タイマーを解除 clearInterval( myID ); var n = new Number( document.getByElementById("myData").value ); var len = document.getByElementsByTagName("A").length document.getByElementsByTagName("A")[n].click(); n++; n %= len; document.getByElementById("myData").value = n; // 次回起動用のタイマーを設定 if ( n != 0 ) myID = setInterval( "myclick()", 30000 ); } //--> </script> といった具合です
お礼
お返事ありがとうございます。 すみません、やり方が悪いのかうまく動きませんでした。 それはこんなソースにするということでしょうか。 <html> <body onload="myclick()"> <input type=hidden id=myData value=0> <a href="http://www.google.co.jp/" target="test">Google</a> <a href="http://yahoo.co.jp/" target="test">Yahoo!</a> <a href="http://google.co.jp/" target="test">Google</a> <script type=text/javascript"> <!-- var myID; function myload() { // 30秒なら30000 40秒なら40000とします myID = setInterval( "mytimer()", 5000 ); } function mytimer() { // タイマーを解除 clearInterval( myID ); var n = new Number( document.getByElementById("myData").value ); var len = document.getByElementsByTagName("A").length document.getByElementsByTagName("A")[n].click(); n++; n %= len; document.getByElementById("myData").value = n; // 次回起動用のタイマーを設定 if ( n != 0 ) myID = setInterval( "myclick()", 30000 ); } //--> </script> </body> </html> それとも別々のファイルにしてもいいということでしょうか。
お礼
こちらで希望していた動きができました。 ありがとうございました!