<HEAD>内で計算して複数の引数にそれぞれ値を格納してその値をさらにスタイルシートに反映させていたのですが、関数の使い方がいまいちわかっていません。
たとえば<HEAD>内で
1.そのときのブラウザウィンドウの幅を取得
2.1の半分の値からコンテンツの最大幅(740)の半分の値
3.<div id=main>レイヤーの左からの位置を2の値にする
という一連を関数にしてから
<BODY>の中で上記の一連で出てきた値を再利用したいのです。
関数を使ってひっぱてくればいいと思うのですが、うまく引っ張ってこれないです。どうすればいいでしょうか。
<head>内に
function test(){ 処理 }
等として計算するプログラムを用意して、body内で呼び出すには単純にbody内で
<script language=”JavaScript”>
<!--
a();
// -->
</script>
とすればそこに値が入ります。
http://www.usagi-js.com/sample/jssample2.htm
うさのJavaScript講座・サンプル集2
たとえば、ここのサンプル15とかでいいのでしょうか?(InputBoxへ代入していますが)
関数からの戻り値を使うという意味で。
1.〜3.の関数はできていることが前提ですが。ただし、3.で設定したままで関数を終わらせるとおかしくなりますので、明示的に値を返してやる必要があります。
http://tohoho.wakusei.ne.jp/js/function.htm
そのファイルは現在ありません
リファレンスもこちらにあります
なかなかうまく・・・
<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を再利用できるはずですが?
関数を引っ張ってくる必要はないと思います
>> var で定義しておけば body内で wを再利用できるはずですが?
う〜ん、上記と同じようなコードはすでに書いたのですが再利用する際にどうやて引っ張ってくるのかわからないのです。
少し時間が出来たので書いてみました。
が、時間が無いので動作確認は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>
ありがとうございます。
たとえばですねgetClientWidthの中で出てくるいくつかの値を全て引数としてbodyの中で書いたコードに渡したいんですけど。
う〜ん、どのあたりに関数を引き出すコードを書いたらいいのでしょう。
たとえば<body>内で
<script Language=”JavaScript”><!--</p> <p> document.write(引数);</p> <p> // --></script>
としたい場合、関数を引き出すコードはどこに書いたらいいんですか?