人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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)
として処理をしたいです。


●質問者: hopefully
●カテゴリ:就職・転職 ウェブ制作
✍キーワード:AAA Class NEWS PUSH ソース
○ 状態 :終了
└ 回答数 : 2/3件

▽最新の回答へ

1 ● yuki_furuya
●10ポイント

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

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

◎質問者からの返答

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

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


2 ● lains_you
●60ポイント

質問の内容は、引数の数に応じて異なる関数を実行したい、ということでよろしいでしょうか? もしそうなら、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>

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

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

◎質問者からの返答

ありがとうございますw

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ