0

問題の 2 つの div を div1 と div2 と呼びましょう。

私がやろうとしているのは、Enter キーを使用して div1 を表示し、div2 (div2 が現在表示されている場合) を非表示にし、その逆を行うことです。現在、Enter キーを押すと div1 が表示され、div2 が非表示になるコードがありますが、div2 を表示して div1 を非表示に戻すには、シフト キーを使用する必要があります。今のやり方でうまくいきますが、私はそれが欲しいので、div を交互にするたびにエンターを押すだけで済みます。

ここにJavaScriptコードがあります

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    var keys = [];
    var code = [13];
    var keys1=[];
    var code1 = [16];
    $(document).keydown(function(keyEvent) {
      keys.push(keyEvent.keyCode);
      keys1.push(keyEvent.keyCode);
      if ( keys.length > code.length ) {
        keys.shift();
      }
      if ( keys1.length > code1.length ) {
        keys1.shift();
      }
      if ( keys.toString() == code.toString() ) {
        showAns();
      }
      if ( keys1.toString() == code1.toString() ) {
        hideAns();
      }

    });
  });
</script>

私が求めていることを達成する方法はありますか?

4

3 に答える 3

0

達成したいことのこのサンプルを試してください。

var toShow = true;
$(document).keydown(function(keyEvent) {
    if(keyEvent.keyCode == 13){
            $('#div1').toggle(toShow);
            $('#div2').toggle(!toShow);
        toShow = !toShow;
    }
});
于 2013-11-15T06:07:04.817 に答える
0

正しい方向に向けて微調整しますが、完全な答えは提供しません。

要素の可視性のプロパティを確認する方法を見つける必要があります (要素が jQuery で非表示になっているかどうかを確認するにはどうすればよいですか?これは役立つかもしれません!)、次のようにそれを条件に追加する必要があります。

if(KeyIsPressed && element.IsVisible)
{
HideElement
}
else if(KeyisPressed)
{
ShowElement
}
于 2013-11-15T06:00:17.437 に答える