JavaScriptにて

<HEAD>内で計算して複数の引数にそれぞれ値を格納してその値をさらにスタイルシートに反映させていたのですが、関数の使い方がいまいちわかっていません。

たとえば<HEAD>内で
1.そのときのブラウザウィンドウの幅を取得
2.1の半分の値からコンテンツの最大幅(740)の半分の値
3.<div id=main>レイヤーの左からの位置を2の値にする
という一連を関数にしてから
<BODY>の中で上記の一連で出てきた値を再利用したいのです。

関数を使ってひっぱてくればいいと思うのですが、うまく引っ張ってこれないです。どうすればいいでしょうか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:ke-zi No.1

回答回数95ベストアンサー獲得回数0

ポイント18pt

<head>内に

function test(){ 処理 }

等として計算するプログラムを用意して、body内で呼び出すには単純にbody内で

<script language=”JavaScript”>

<!--

a();

// -->

</script>

とすればそこに値が入ります。

id:trapon

う〜ん、どのあたりに関数を引き出すコードを書いたらいいのでしょう。

たとえば<body>内で

<script Language=”JavaScript”><!--</p> <p> document.write(引数);</p> <p> // --></script>

としたい場合、関数を引き出すコードはどこに書いたらいいんですか?

2004/07/26 17:16:43
id:actual No.2

回答回数610ベストアンサー獲得回数1

ポイント18pt

http://www.usagi-js.com/sample/jssample2.htm

うさのJavaScript講座・サンプル集2

たとえば、ここのサンプル15とかでいいのでしょうか?(InputBoxへ代入していますが)

関数からの戻り値を使うという意味で。

1.〜3.の関数はできていることが前提ですが。ただし、3.で設定したままで関数を終わらせるとおかしくなりますので、明示的に値を返してやる必要があります。

http://tohoho.wakusei.ne.jp/js/function.htm

そのファイルは現在ありません

リファレンスもこちらにあります

id:trapon

なかなかうまく・・・

2004/07/26 17:55:38
id:aki73ix No.3

回答回数5224ベストアンサー獲得回数27

ポイント17pt

<HEAD>

<script language=”JavaScript”>

<!--

var w;

if (!document.all && (document.layers || ducument.getElementById)) {

w=window.innerWidth;

}

// ウインドウズIE6・標準モード。

else if (document.getElementById && (document.compatMode==’CSS1Compat’)) {

w=document.documentElement.clientWidth;

}

// その他のIE。

else if (document.all) {

w=document.body.clientWidth;

}

// その他(非対応)。

else {

w=720;

}

w=w/2;

//-->

</script>

こうしてvar で定義しておけば body内で wを再利用できるはずですが?

関数を引っ張ってくる必要はないと思います

id:trapon

>> var で定義しておけば body内で wを再利用できるはずですが?

う〜ん、上記と同じようなコードはすでに書いたのですが再利用する際にどうやて引っ張ってくるのかわからないのです。

2004/07/26 18:00:51
id:ke-zi No.4

回答回数95ベストアンサー獲得回数0

ポイント17pt

少し時間が出来たので書いてみました。

が、時間が無いので動作確認はWinXP Home+IE6のみです

<html>

<head>

<script language=”JavaScript”>

<!--

function getClientWidth()

{

if( !document.all && ( document.layers || ducument.getElementById ) ){

return ( window.innerWidth / 2 );

}

if( document.all ){

return ( document.body.clientWidth / 2 );

}

else {

return ( 740 / 2 );

}

}

//-->

</script>

<meta http-equiv=”Content-Type” content=”text/html; charset=EUC-JP”>

</head>

<body>

<script language=”JavaScript”>

<!--

document.write( getClientWidth() );

//-->

</script>

</body>

</html>

id:trapon

ありがとうございます。

たとえばですねgetClientWidthの中で出てくるいくつかの値を全て引数としてbodyの中で書いたコードに渡したいんですけど。

2004/07/26 19:46:09
  • id:trapon
    このときは

    別にコードが示して頂いたコードがしりたかったわけじゃないんですけど、ご協力ありがとうございました。

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

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

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

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