JavaScriptを勉強し始めて何とか自分のホームページに使いたいのですが、以下のプログラムをonClickイベントハンドラで動かせたいのですが、初めの一回のみ動き、その後クリックしても動きません。やはり作り直した方がいいのでしょうか。

var timerID; var ichi = 68; var maxX = 120; var perX = 2; speed = 10;

function layerMv(){
if(ichi<maxX) {
ichi += perX;
if(document.all){
var data = document.all('S1').style;
data.visibility = "visible";
data.left = ichi;
}
if(document.layers){
var data = document.layers['S1'];
data.visibility = "visible";
data.left = ichi;
}
timerID = setTimeout("startMv()",speed);
}else if(ichi==maxX){
clearTimeout(timerID);
}
}

他のボタンonMouseoverで初期位置(68,y)に通常のレイヤー移動。
その後動かなくなります。
どうかよろしくお願いします。

A 回答 (2件)

>timerID = setTimeout("startMv()",speed);


ここの部分が、正しくは
timerID = setTimeout("layerMv()",speed);
ではないでしょうか?

参考までにスクリプトを作ってみました。
var timerID = 0;
var ichi = 68;
var maxX = 120;
var perX = 2;
var speed = 10;

function layerMv(){
  if(ichi<maxX) {
ichi = ichi + perX;
if(document.all){
window['S1'].style.visibility = "visible";
window['S1'].style.left = ichi;
}
if(document.layers){
document['S1'].visibility = "visible";
document['S1'].left = ichi;
}
timerID = setTimeout("layerMv()",speed);
  }else if(ichi==maxX){
clearTimeout(timerID);
  }
}
    • good
    • 0
この回答へのお礼

本当に助かりました。
スクリプトまで作って頂き、ありがとうございました。

お礼日時:2001/04/02 18:19

JavaScriptは、エラーが出るとそれ以降動作しません。


manmosuさんのページでもエラーが出てるのではないでしょうか?

JavaScriptの動作テストをする場合は、ブラウザの設定で
「エラーの詳細を表示する」
の設定をしていた方がいいと思います。

IEなら、[ツール]→[インターネットオプション]→[詳細設定]で、できます。
    • good
    • 0
この回答へのお礼

さっそくの回答ありがとうございました。

お礼日時:2001/04/02 18:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QXwindow osf/motifのラジオボタンの作成できない!!!!

Xwindow osf/motifのラジオボタンの作成できない!!!!!!!

X-Window OSF/Motifプログラミング
兜木昭男/木下凌一/栄谷政己/林秀幸/安川悦子,日刊工業新聞社

上の本をみながら画面を作っています。

ラベルボタンなら  XmCreateLabele
アローボタンなら  XmCreateArrowButton
プッシュボタンなら XmCreatePushButton

で作れるんですけどラジオボタンは本に載ってないんです。
ネットで探してもなかなか見当たらなくて困ってます。

motifの知識がなくてどう質問したらいいのかわかりません。

わかる範囲で結構です。教えていただいたら幸いです!!!

Aベストアンサー

http://www.ist.co.uk/motif/books/vol6A/ch-12.fm.html
Motif Programing Manual

Example 12-6 The radio.c program

QJavaScriptで【window.google={kHL:"ja"};】という記述はどういう意味?

JavaScriptで【window.google={kHL:"ja"};】という記述はどういう意味?


YOUTUBE日本語版
http://jp.youtube.com/
のHTMLソースを見ていたら、



<script type="text/javascript">
    window.google={kHL:"ja"};
</script>


という記述を目にしたのですがこれはどういう意味あいというか目的のものなのでしょうか?


教えていただければ幸いです。

Aベストアンサー

これは、window.googleに'kHL'というキー(値は'ja')を持つ連想配列を
作成しています。

JavaScriptでの連想配列は

var 変数名 = {
キー : '値',
キー : '値',
:,
キー : '値'
};

というような感じで作成します。
キーはダブルクォートまたはシングルクォートで囲まなくても
いいようです。

参考URL:http://javascriptist.net/docs/basic_hash.html,http://www.openspc2.org/JavaScript/kouza2007/array/hash/index.html

QHP作成:ラジオボタンの表示について

こんにちはっ
携帯サイト用のサーバを取得し、FTP転送してサイトを作成しているのですが、
ラジオボタンの表示が出来ません。
PCのブラウザからサイトを見ると表示出来ています。
携帯から見ると、ラジオボタンだけ表示されていないのです。
私の携帯はFOMAなのですが、表示不可。
他人の携帯でau(少し古い機種との事)で試したら表示OKでした。
FOMAのブラウザ(?)対応がいけないのでしょうか??
何か知っている事がある方、是非教えて下さいっ

Aベストアンサー

<form action…
であるべき部分が
<from action…
になっています。
直したら、表示されました。
(確認は、実機はもっていないのでシミュレータでしました)

i-modeで使用できるタグやシミュレータは以下のURLから
http://www.nttdocomo.co.jp/p_s/imode/make/tag/index.html

参考URL:http://www.nttdocomo.co.jp/p_s/imode/make/tag/index.html

Q&= ~0x0c; &= ~0x03; |=1;

JavaScriptで分からないコードがあるので教えてください。


■変数設定
var hoge = 0;


■変数格納
・キーを押した時の条件分岐
  ~なら hoge |= 1;
  または hoge |= 2;
  または hoge |= 3;
  または hoge |= 8;

・キーを離した時の条件分岐
  ~なら hoge &= ~0x0c;
  または hoge &= ~0x03;


■変数使用
・swithch文の条件分岐に利用
  (hoge&0x03)
  (hoge&0x0c)


■質問
・どういう意味でしょうか?
・文字コード?
・ビット演算?

Aベストアンサー

ビット演算してるわね

x = x + a

x += a
って書くことができるの

つまり
hoge |= 1

hoge = hoge | 1
のことね

~はNOTのこと

0x
はアスキーコードの16進数表記ねきっと

0x0c は改ページを意味していて
0x03 は文章の最後を意味している
と思われるわ
全文がないので推測だけど

Qラジオボタンで診断テストを作成したい

ラジオボタンで診断テストを作成したい

Yes、No形式で10問のラジオボタンから選択し、
Yesの数に応じ5通りのリンク先にジャンプするようなサイトを作成しようと思っています。

調べているうちに下記のような同様の質問を発見したのですが、
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1341900288
これだと2の10乗、1024通りのリンクを設定しないといけません。

例えばYesを1、Noを0などの数値に置き換えて、
Yesの数が1-3個は"http://~~"、4-6個は"http://~~"
という風には設定できないのでしょうか?

わかりにくい説明で申し訳ありませんが、
よろしくお願いします。

Aベストアンサー

他の方の回答から一部もらってますがサンプルです。

<script type="text/javascript">
function sample(F){
var list = {
0:'htp://example.com/a.html',//0以下
2:'htp://example.com/b.html',//2以下
5:'htp://example.com/c.html',
8:'htp://example.com/d.html',
10:'htp://example.com/e.html'
};
var i=0;
var q;
var c=0;
var key=0;
while( q = F.elements[ i++ ] )
if(q.type=='radio' && q.checked) c+= parseInt(q.value);

for(key in list) {
if(c <= parseInt(key)) {
location.href = list[key];
break;
}
}
return false;
}
</script>

</head>
<body>

<form onsubmit="return sample(this)">
<p>
Q1.
<label><input type="radio" name="q1" value="1" checked>Yes</lebel>
<label><input type="radio" name="q1" value="0">No</lebel>
</p>
<p>
Q2.
<label><input type="radio" name="q2" value="1" checked>Yes</lebel>
<label><input type="radio" name="q2" value="0">No</lebel>
</p>
~略~
<input type="submit" value="診断">
</form>

Yesのvalueを2以上にしたり、
Yesを0、Noを1にすることで結果予測をしずらくすることもできます。

他の方の回答から一部もらってますがサンプルです。

<script type="text/javascript">
function sample(F){
var list = {
0:'htp://example.com/a.html',//0以下
2:'htp://example.com/b.html',//2以下
5:'htp://example.com/c.html',
8:'htp://example.com/d.html',
10:'htp://example.com/e.html'
};
var i=0;
var q;
var c=0;
var key=0;
while( q = F.elements[ i++ ] )
if(q.type=='radio' && q.checked) c+= parseInt(q.value);

for(key in list) {
if(c <= parseInt(key)) {
location.href = list[key];
...続きを読む

Qvar aaa=bbb?cccl:ddd; の意味を教えて下さい。

タイトルそのままです。
function内にある
var aaa=bbb?cccl:ddd;
の意味を教えて下さいませ。

Aベストアンサー

がると申します。
これは、三項演算子と呼ばれるものになります。
基本的には
式 ? trueの値 : falseの値
という形を取ります。
上述ですと、
もしbbbが判定式としてtrueを取るのならaaaにccclを、falseになるのならdddを代入する
という感じになるかと思います。

Q複数のラジオボタングループを動的に作成するには?

こんにちは。
MySQLのデータと連動してフォームでラジオボタンの入ったプログラムを書いているのですが、どうも期待したように動作させることができません。よろしくお願いします。

MySQLから検索してきたデータを一覧形式で表示し、各行に3つの選択枝を持ったラジオボタン群をつけたい。イメージとしては以下の通りです。

DATA 1 | あ | ●和食 ○中華 ○洋食
DATA 2 | い | ●和食 ○中華 ○洋食
DATA 3 | う | ○和食 ○中華 ●洋食
[更新ボタン]

更新ボタン1つなので、各行は 1つの<FORM></FORM>の中に入っています。各自のラジオボタンを name="syokuji1", "syokuji2"などと指定して動的に生成すれば受ける方のPHPでは $_POST["syokuji1"]などで取り出せるのですが、MySQLからのデータ数は一定ではないので、ループ等でデータを取り出せずに困っています。

希望はラジオボタンの値を syokuji[0], [1], [2]みたいな配列で取ってくることです。別に配列にこだわりませんが、ループ処理でデータを取り出せたらと考えています。

name="syoukuji[]"も試してみましたが、この場合全ラインで1つの選択しかできなくなってしまいました。

DATA 1 | あ | ○和食 ○中華 ○洋食
DATA 2 | い | ○和食 ○中華 ○洋食
DATA 3 | う | ○和食 ○中華 ●洋食
[更新ボタン]

ソースを貼ろうかと思いましたが、とりあえずは仕様の方から質問させていただきました。 よろしくお願いします。

こんにちは。
MySQLのデータと連動してフォームでラジオボタンの入ったプログラムを書いているのですが、どうも期待したように動作させることができません。よろしくお願いします。

MySQLから検索してきたデータを一覧形式で表示し、各行に3つの選択枝を持ったラジオボタン群をつけたい。イメージとしては以下の通りです。

DATA 1 | あ | ●和食 ○中華 ○洋食
DATA 2 | い | ●和食 ○中華 ○洋食
DATA 3 | う | ○和食 ○中華 ●洋食
[更新ボタン]

更新ボタン1つなので、各行は 1つの<FORM></FORM>の中...続きを読む

Aベストアンサー

タイトルと質問内容がずれている気がするので、あっているかどうか分かりませんが書いてみます。

例えば

<form method="POST>
<input type="radio" name="syokuji1" value="和食">和食
<input type="radio" name="syokuji1" value="中華">中華
<input type="radio" name="syokuji1" value="洋食">洋食
<input type="radio" name="syokuji2" value="和食">和食
<input type="radio" name="syokuji2" value="中華">中華
<input type="radio" name="syokuji2" value="洋食">洋食
<input type="submit" value="更新">
</form>

という感じでラジオボタンのグループを作成。
syokuji1では和食を選択、syokuji2では中華を選択し、更新ボタンを押せば

$_POST["syokuji1"] = "和食"
$_POST["syokuji2"] = "中華"

と、POSTを受け取る側では取り出すことができますが、これではダメなのでしょうか?
このsyokuji1~syokuji幾つか分からない数が続いていた場合に、このデータを取り出す方法が分からないのでしょうか?

このような場合は、foreachを利用します。
foreach($_POST as $key => $val){
echo "KEY = $key $val<br>";
}

参考URL:http://php.benscom.com/manual/ja/control-structures.foreach.php

タイトルと質問内容がずれている気がするので、あっているかどうか分かりませんが書いてみます。

例えば

<form method="POST>
<input type="radio" name="syokuji1" value="和食">和食
<input type="radio" name="syokuji1" value="中華">中華
<input type="radio" name="syokuji1" value="洋食">洋食
<input type="radio" name="syokuji2" value="和食">和食
<input type="radio" name="syokuji2" value="中華">中華
<input type="radio" name="syokuji2" value="洋食">洋食
<input type="submit" v...続きを読む

Qfor(var i=0;...) の i の値を保持するには?

-----
<ul>
<li>test1</li>
<li>test2</li>
<li>test3</li>
</ul>

<script type='text/javascript'>
(function(){
var li = document.getElementsByTagName('li');

for(var i=0,max=li.length; i<max; i++){
li[i].onclick = function(){
alert(i);
};
}
})();
</script>
-----

上記スクリプトを実行すると、全てのli要素でクリックしたときに "3" がalertされます。
0,1,2 をそれぞれalertしたいのですが、どういった方法が考えられるでしょうか?

現在作成しているスクリプトでは、下記のようにidに値を保持しています。
もう少しスマートな方法がある気がするのですが…。

---
li[i].id = 'test' + i;
li[i].onclick = function(){
alert(this.id.replace(/^test(\d+)/, '$1'));
};
---

-----
<ul>
<li>test1</li>
<li>test2</li>
<li>test3</li>
</ul>

<script type='text/javascript'>
(function(){
var li = document.getElementsByTagName('li');

for(var i=0,max=li.length; i<max; i++){
li[i].onclick = function(){
alert(i);
};
}
})();
</script>
-----

上記スクリプトを実行すると、全てのli要素でクリックしたときに "3" がalertされます。
0,1,2 をそれぞれalertしたいのですが、どういった方法が考えられるでしょうか?

現在作成しているスクリプトでは、...続きを読む

Aベストアンサー

http://nanto.asablo.jp/blog/2005/12/04/165848
メモリーリークにみえて、そうでない・・・

>HTMLObjectに勝手にプロパティ
これはよくないことだじょ!そうおそわった。

ついでにいうと、いべんとをなんこもていぎするより
No3.みたいにおおもとにひとつでじゅうぶん。
innerHTMLで、ぜんたいをかきかえたとしてもOK!
と、TAGindex
http://www.tagindex.com/cgi-lib/q4bbs/patio.cgi
でおそわったじょ!

Q動的に作成したラジオボタンの選択肢をサーブレットに渡す

こんにちは。再度失礼します。

JSPで一覧表示された表からラジオボタンでひとつ選択し、サーブレット・Beanにその値を渡し、更新ページで更新処理、または削除処理を行わせたいと考えています。
更新用・削除用のサーブレットは別々です。
一覧表にはラジオボタンをDBに登録された名前が、DBにあるだけ(select * from テーブル)表示されることになっています。
下のソースはわかりやすいように3個だけもってくることにしてます。

【JSP】-----------------------------------------------
<% for (int i = 0; i < 3; i++){ %>
<tr><td>
<input type"radio" name="choice" value="i">
</td><td>
<%= [DBから取得した名前](i) %></td>
<%= i %>
<% } %>
【servlet】
String str = request.getParameter("choice")
--------------------------------------------------------
ここで実行するとサーブレットに渡されたchoiceの値はvalueの変数 i になってしまいます。valueの値がサーブレットに渡されるのはわかっているのですが、i ではなく、[DBから取得した名前]をサーブレットに渡したいのですがどうしたらよいのでしょうか。

良い方法をご存知の方、ご教授よろしくお願いいたします。

こんにちは。再度失礼します。

JSPで一覧表示された表からラジオボタンでひとつ選択し、サーブレット・Beanにその値を渡し、更新ページで更新処理、または削除処理を行わせたいと考えています。
更新用・削除用のサーブレットは別々です。
一覧表にはラジオボタンをDBに登録された名前が、DBにあるだけ(select * from テーブル)表示されることになっています。
下のソースはわかりやすいように3個だけもってくることにしてます。

【JSP】-----------------------------------------------
<% for (int i...続きを読む

Aベストアンサー

<input type="radio" name="choice" value="<%= [DBから取得した名前](i) %>">

これだとどうなります?

QJavaScriptにて『var val2 = "dv" + i;』のdvとは?、超初心者です。

<script type="text/javascript">
<!--
var timerID = "";

function mn(n){
if(timerID != ""){
clearTimeout(timerID);
}
var val = n;
dlt2();
document.getElementById(val).style.visibility="visible";
document.getElementById(val).style.zIndex="1";
}

function dlt(){
timerID=setTimeout("dlt2()",100);
}

function dlt2(){
for (i=1;i<3;i++){
var val2 = "dv" + i;
document.getElementById(val2).style.visibility="hidden";
document.getElementById(val2).style.zIndex="0";
}
}
//-->
</script>
<style type="text/css">
<!--
a{text-decoration:none;color:gray;}
a:hover{color:#000000;}
body{color:#000000;font-size:12pt;
line-height:150%;font-family:"MS Pゴシック";}
table{color:#ffffff;font-size:12pt;
line-height:150%;font-family:"MS Pゴシック";}

#dv1{
/* ↓ここの position の値がプルダウンメニュー1の表示位置です */
position:absolute;left:12;top:42;
background-color:#ffffff;visibility:hidden;
border: 1px solid gray;
}
-->
</style>
</head>


<body>

(文字数制限により省略させていただきます)

</body>
</html>
----------
参考URL:
http://ryos.info/hp_sakusei/pulldown.htm

JavaScriptでプルダウンメニューを作ろうとして、ネットで勉強していますが早速つまずいています。
調べてみましたが、結局解りませんでした。

上記のfunction dlt2()の部分で、『var val2 = "dv" + i;』とあります。
この"dv" とは何を表しているのでしょうか?

初歩的な質問で申し訳ございません。

教えていただけましたら幸いです。

<script type="text/javascript">
<!--
var timerID = "";

function mn(n){
if(timerID != ""){
clearTimeout(timerID);
}
var val = n;
dlt2();
document.getElementById(val).style.visibility="visible";
document.getElementById(val).style.zIndex="1";
}

function dlt(){
timerID=setTimeout("dlt2()",100);
}

function dlt2(){
for (i=1;i<3;i++){
var val2 = "dv" + i;
document.getElementById(val2).style.visibility="hidden";
document.getElementById(val2).style.zIndex="...続きを読む

Aベストアンサー

「dv」単体には意味が無く、そのfor文内で
「val2 = "dv1"」「val2 = "dv2"」になりますよね。

HTMLの中に「dv1」「dv2」と名前の付けられているdivがありますから、そのオブジェクトを指しているようです。


人気Q&Aランキング

おすすめ情報