1

jqueryでボタンクリック時にボタンの上にdivを表示する必要があります。

$("#but button").click(function(){
    $("#mydiv").css("display","block");
    });

<div id="but"><button type="button">Show Div!</button></div>
<div id="mydiv" style="display: none;">The div must be above button</div>

アップデート

ボタンの上にツールチップとして作成する必要があります。

4

1 に答える 1

6

jQueryAPIのドキュメントを読むのに1時間かかることをお勧めします。文字通りそれだけの時間がかかりますが、莫大な成果があります。

アップデート

それをツールチップにすることについてのあなたの編集は、質問を完全に変えます。次のように、を使用してdivを配置し、ボタンを基準にしてdivと座標を指定position: absoluteすることをお勧めします。lefttop

$("#but button").click(function(){
  var pos = $(this).offset(),
      div = $("#mydiv");

  // Make it visible off-page so
  // we can measure it
  div.css({
    "display": "block",
    "border": "1px solid black",
    "position": "absolute",
    "left": -10000,
    "top": 0
  });

  // Move it where we want it to be
  div.css({
    "left": pos.left + 10,
    "top":  pos.top - div.height() - 10
  });
});

実例| ソース


元の答え

最も明白なことは、マークアップを変更して、divが最初から適切な場所にあるようにすることです。

あなたが何を求めているのかを知るのは難しいですが、あなたが#mydiv上に移動したい場合#but

$("#but button").click(function(){
    $("#mydiv").css("display","block").insertBefore("#but");
});

実例| ソース

しかし、ボタンの前で内側に配置したい場合#but

$("#but button").click(function(){
    $("#mydiv").css("display","block").insertBefore(this);
});

実例| ソース

于 2012-12-15T11:13:06.757 に答える