function initMarquee()

{
dhtmlgoodies_marqueeObj = document.getElementById('dhtmlgoodies_marquee');
var spans = dhtmlgoodies_marqueeObj.getElementsByTagName('DIV');
for(var no=0;no<spans.length;no++){
if(spans[no].className=='textObj'){
if(!dhtmlgoodies_marqueeTextObj){
dhtmlgoodies_marqueeTextObj = spans[no];
spans[no].style.display='block';
}else spans[no].style.display='none';
dhtmlgoodies_marqueeTextObjects.push(spans[no]);
var hiddenSpan = document.createElement('SPAN');
hiddenSpan.innerHTML = '&nbsp;'
spans[no].appendChild(hiddenSpan);
dhtmlgoodies_marqueeHiddenSpans.push(hiddenSpan);
}
}
}

<div id="dhtmlgoodies_marquee">
<div class="textObj"><span class="highlighted">Breaking news!</span> This is!</div>
<div class="textObj"><span class="highlighted">STOCK NEWS:</div>
<div class="textObj"><span class="highlighted">Sport</div>
<div class="textObj"><span class="highlighted">Other news:</div>
</div>
<script type="text/javascript">
initMarquee();
</script>
上記ソースで、Classに指定してある部分を引数にして実行したい場合は
どうしたらいいのでしょうか?
initMarquee();をinitMarquee(aaa);として実行した場合に、
function initMarquee()をfunction initMarquee(aaa)
として処理をしたいです。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/04/25 11:31:00
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:yuki_furuya No.1

回答回数83ベストアンサー獲得回数4

ポイント10pt

http://starry.night.nu/web/prog/javascript/c02_know_base_of_func...

こんなのを利用するのはどうでしょう?

id:hopefully

すいません、出来ればサンプルコードで修正して

もらってもいいでしょうか?

2007/04/23 15:19:17
id:lains_you No.2

回答回数50ベストアンサー獲得回数10

ポイント60pt

 質問の内容は、引数の数に応じて異なる関数を実行したい、ということでよろしいでしょうか? もしそうなら、yuki_furuyaさんが回答されたURL先の内容でよいと思います。

 引数の数を返すarguments.lengthの値によって、呼び出す関数を分岐させればよいと思います。


以下、サンプル

<html>
<head>
<script type="text/javascript">
function initMarquee(){
	switch( arguments.length ){
		case 0:
			initMarquee_args0();
			break;
			
		case 1:
			initMarquee_args1( arguments[0] );
			break;
			
		default:
			alert("引数指定エラー");
			break;
	}
}

function initMarquee_args0(){
	alert("引数:0個");
}

function initMarquee_args1( aaa ){
	alert("引数:1個\n内容:" + aaa);
}
</script>
</script>
</head>
<body>

<div id="dhtmlgoodies_marquee">
<div class="textObj"><span class="highlighted">Breaking news!</span> This is!</div>
<div class="textObj"><span class="highlighted">STOCK NEWS:</div>
<div class="textObj"><span class="highlighted">Sport</div>
<div class="textObj"><span class="highlighted">Other news:</div>
</div>

<script type="text/javascript">
//引数0個で実行
initMarquee();

//引数1個で実行
initMarquee( document.getElementById("dhtmlgoodies_marquee").firstChild.className );

//引数2個で実行 定義なしのためエラー
initMarquee("textObj","test");
</script>

</body>
</html>

 サンプルコードを動作するように修正して欲しいということであれば、現状のソースでは難しいと思います。

 質問点を絞るか、全文を記述すれば、修正してくださる方がいるかもしれませんね。

id:hopefully

ありがとうございますw

2007/04/24 19:37:12

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 ofk 12 10 3 2007-04-23 20:33:40

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません