1

大きな赤いボタンがあり、javascript を使用して次のことを実行しようとしています。

  1. OnMouseDown ボタンが押されたように見えるように画像を変更する
  2. OnMouseUp は最初の画像に戻り、非表示の div を表示します

onMouse Down と onMouseUp の画像変更部分を機能させることができます。

OnClick を使用して非表示の div を表示することもできます

問題は、すべてを連携させることができないことです。

どうすればいいですか?

ところで、私はそれが明らかだと確信していますが、私はjavascriptにかなり慣れていないので、あなたの助けに感謝します

4

3 に答える 3

1

セミコロンを使用して、イベント内の複数のスクリプトステートメントを区切ることができます。

<img src="..." alt="..."
  onmousedown="depressed();"
  onmouseup="undepressed(); revealDiv();" />

また、ほとんどのブラウザはonclickイベントをサポートしていると思います。

<img src="..." alt="..."
  onmousedown="depressed();"
  onmouseup="undepressed();"
  onclick="revealDiv();" />

すでに3つの部分のそれぞれを個別に理解しているとおっしゃっていたので、各ステップで独自のコードに置き換えることができる関数呼び出しを作成しました。

于 2008-12-10T09:12:11.663 に答える
0

あなたのコードを見ないと、なんとも言えませんが、'return true;' が抜けているのではないかと思います。onclick または onmouseup イベント ハンドラーのいずれかの末尾にあるステートメント。

于 2008-12-10T09:02:11.450 に答える
0

html 要素のタグに属性表記を直接使用して要素にイベントを添付することは決してお勧めできません。

ビュー (レンダリングされた html である) をコントローラー (発生するアクション) から分離することをお勧めします。

イベントを添付する最良の方法は次のようになります。

<img id="abut" />

<script>
var thebutton = document.getElementById('abut'); //Retrieve the button from the page 
thebutton.onmousedown = depressed; //depressed is a function that you declare earlier on...here, you are just passing a reference to it
thebutton.onmouseup = function () {
    undepressed();
    revealDiv(); //Invoke the two functions when the 'onmouseup' is triggered'
};
</script>
于 2008-12-11T19:21:07.737 に答える