• 締切済み

body onload

リンクボタンの裏面のボタン画像を<body onload= を使わずに onloadをさせる方法ありますでしょうか? <body onload=を使わないとonclickした時にボタン画像がなくなって背景が見えてしまいます。説明が下手かもしれませんが、宜しくお願いします。

  • amd64
  • お礼率0% (0/42)

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

<script> window.onload=function(){hoge();} function hoge(){・・・;} </script> 外部ファイルかheadタグの中で、window.onloadを設定してやればよいでしょう。

関連するQ&A

  • <body onload=""> と window.onload

    JavaScriptのonload処理についての質問です。 現在Java、JSP、JavaScript等でWebアプリケーションを作成しているのですが、 bodyタグ中のonloadに記載したファンクションが時々呼ばれないという問題が起きています。 (こんな感じで記述  <body onload="hoge();hogehoge();">  hogehoge()がたまに呼ばれないことがある・・・) これを回避する方法として、「onload処理をwindow.onloadに記述すれば良い」 という話を聞きました。 (こんな感じで記述  <script>    window.onload = function(){ hoge();hogehoge(); }  </script> ) 「bodyタグ中に記述するとたまに呼ばれないものが、window.onloadに記述すると確実に呼ばれる」 なんてことがあるのでしょうか? 「2つめのファンクションが呼ばれない」という現象がたまにしか発生しないので、 window.onloadに記述する方法で確実に呼ばれるようになったという保証がとれません。 知識として知っている方がいれば是非教えていただきたいです。 よろしくお願い致します。 ※ブラウザはIEを使用  バージョンは IE → 6.0      JavaScript → 1.1 です。  

  • 関数を呼び出すHTMLタグ<body onload="hoge()">について

    ほぼ独学でJavaScriptを学んでいるので、一般的なコード(HTML含め)の書き方が分かりません。 JavaScriptでは、ボタンや画像をクリックすると動作する、 というものが多いですが、そうではなくて、 (それはonclick等で関数を呼び出せば良いことは分かります) 時計のように、アクセスした瞬間から実行されるプログラムを複数書きたい時は、 どのようにするのが妥当でしょうか。 <body onload="hoge()">では、関数hoge()しか実行されないことになりますよね。 そうではなくて、hoge()以外にもいくつかの関数を実行したい時はどうするのが一般的ですか? ここでC言語のように、hoge()をmain関数(int main(void){})のような扱い方にすると、 hoge()関数内で呼び出されている関数も呼び出されることになりますが、そのような書き方で良いですか? アクセスの効率の良さから考えて、他に良いやり方はあるでしょうか。 ・・・前に困ったので<body>タグを2つ付けて2つの関数をonloadアトリビュートで呼び出すという、 奇々怪々なことをやってみて、それでIE7,FireFox3で動いていたので驚いたんですが、 そんなやり方はさすがに御法度ですよね(笑)。 答えにくい質問だと思いますが、アドバイスお願いします。

  • body onload にしない方法

    外部jsにて function chgBg() { var n = 2; var i = Math.floor(Math.random()*n); var img = ['http~~~']; document.getElementById('ID').style.backgroundImage = 'url(' + img[i] + ')'; } っとし htmlに <body onload="chgBg()"> っとして、読み込み後にイメージをランダムに表示しています。 問題なく、動作はするのですが <body onload="chgBg()"> ではなく <body> のまま、この動作をしたいのですが js側に何か追加すればこれは可能なのでしょうか? リロードするたびに、背景がランダムに表示することがしたいです。

  • onloadがうまくいかない

    onloadを使って、 下記HPのtoggleエフェクトのJSが適用されたボタンを押したいのですがうまくいきません。 http://demos.mootools.net/Fx.Slide 現在作成コードの一部は、 ヘッダー部から、 <script type="text/javascript">  window.addEvent('domready', function(){   //-vertical   var mySlide = new Fx.Slide('test');   $('toggle').addEvent('click', function(e){   e = new Event(e);   mySlide.toggle();   e.stop();   });  }); </script> <body onload="document.getElementById('help').click()"> <input type="button" id="help" name="toggle" value="ヘルプを表示"> <div id="test"> ヘルプ内容 </div> </body> みたいな感じで、 他にもログアウトボタンやらあるんですが、 それらのボタンは上記onloadの方法で起動できます。 なぜかJSが適用されてるボタンだけ出来ないような感じなのですが、 何か解決策はありますでしょうか?

  • onloadでprintしたいのですが

    <body onload="window.print();">で更新ボタンを押さないと印刷ダイアログが開きません原因がわかりません。よろしくご指導お願い致します。

  • 外部ファイルでBODYのonloadイベントの関数を指定するには?

    (1)<BODY onload="funcA()">という形でなく、 ヘッダー内に入れた外部ファイルに (2)document.body.onload=funcA; としたいのですが、 「document.bodyはオブジェクトではありません」 というエラーになってしまいます。 <script language="javascript" src="xx.js">は <head></head>の中に入れています。 どうしたら(2)の方法で、 外部ファイルでbodyのonloadイベントの関数を指定できるでしょうか?

  • body onload 自動フォーカス

    body onload 自動フォーカス お世話になっております。 PHP・・・ちょっとは分かる JavaScript・・・ほとんど素人 という程度の知識の者です。すみません。 次ページのテキストに自動フォーカスをするプログラムを構築しております。 諸々調べた結果、以下のコードで実行テストは成功しました。 <html> <head> </head> <body onLoad="document.form1.field1.focus()"> <form action="#" name="form1"> <p>パスワード:<input type="password" name="field1" size="25"></p> </form> </body> </html> 以下2点ご質問がございます。 1) name属性についてですが、本番プログラムでは、 name="aaa-bbb-ccc" というように、「-」が入っております。 そうすると、フォーカスの実行は失敗してしまします。 nameに「-」なしの名前をつければ問題ないのですが、 他のプログラムでも使用している名前の為、変更せずに構築することができればと考えております。 何かよい方法はございませんでしょうか。 2) 次ページに遷移した時に、テキストにフォーカスを当てるのと同時、 そのテキスト位置までスクロールすることは可能でしょうか。 同じく、<body onload=location.href='#aaa'>という形で、指定idの場所にスクロールすることはできましたが、 上記1)と組み合わせることができればと思います。 長々すみません。 要約すると、「次ページ遷移時にあるテキストをフォーカスしその場所までスクロールする」 ことが目的です。 何卒宜しくお願い申し上げます。

    • ベストアンサー
    • HTML
  • onLoadでのClick()

    onLoadのコマンド?からClick()を使って新しいウインドをターゲット指定でオープンさせたいんですが、いろいろ調べて試してみたんですが全然わからなくて。。(;^_^A アセアセ…  普通にonLoadでのオープンは出来るんですがマウスをクリックしたイベントが必要なんですぅぅ どなたかこんな私に愛の手をお願いします。 説明が下手ですみません<m(__)m>

  • window.onLoad について

    <body> タグに、onload=関数名・・・ と記述するとなぜかオブジェクトがありませんとかで 実行されない時があるため、 <head>タグ内に <script type="text/javascript">  window.onLoad=function(){ 関数名} </script> と記述してみたところ、まったく関数が動作しなくなってしまいました。 ステータスには「ページが表示されました」とでていて、スクリプトエラーにもなっていないようです。 原因がわからず、それならば・・・ htmlを順番に表示していくのだから、htmlの最後のほうに記述すればいいのでは? と思い、 </body>の直前に <script type="text/javascript"> 関数名  ← onloadで動作させる関数 </script> と記述してみたところ、うまく表示できました。 この記述方法って正しいのでしょうか? 環境に依存するのか、毎回悩まされるし、毎回対処方法が違ったりしているので ホントに困っています。 アドバイスお願いします。 #何故 window.onLoad=function(){ 関数名 } ではまったく動かなかったのでしょう。。。

  • onloadの同一ページ内の干渉対策

    お世話になります。 CGIで呼び出した、任意の大きさの画像データを、一定のフレーム内に 収める為に、サイズ調整をする関数を、HTML内に以下のように置いたのですが、 やはり、onLoad同士が干渉し合う様で、特に最初のresize1関数によって表示されるはずの画像が表示されません。 設定したいフレームの大きさが4種類ほどあるのでどうしても複数設置になってしまいます。 自分なりに、幾つかのonloadの複数設置対策を試みたのですが、今のところ、有効な結果が出るに至っていません。 因みに、ブラウザの更新ボタンを押した後は、関数処理後の画像が表示されるので、関数自体には問題はないかと考えています。 解決策を持っていらっしゃる方がいれば、 是非、ご教授の程、よろしくお願致します。 <HEAD>内 function resize1() {} function resize2() {} function resize3() {} function resize4() {} <BODY>内 <img src="" onload="resize1(this)"> <img src="" onload="resize2(this)"> <img src="" onload="resize3(this)"> <img src="" onload="resize4(this)">

専門家に質問してみよう