0

ここに画像の説明を入力してください

写真に示したような単純なスライダーを作成したいと思います。2つのdivラッパー1とwrapper2が20pxのマージンで区切られています。ラッパー1にボタンがあり、クリックすると新しいdivがスライドします。これはラッパー1と2の前に来るはずです。

私が使用したコードは

<div id="wrapper1" style="width:960px; height:200px;z-index:100;">
<a href="#" class="clickMe">
   <div id="tab1">
   </div>
</a>
<div id="slider" style="width:400px; height:100px; z-index:999;">
</div>
</div>
<div id="wrapper2" style="width:960px; height:200px; z-index:100;">
</div>

スクリプトは次のようになります

 $(document).ready(function()
 {
 $("#slider").css({"display":"none"});
 $(".clickMe").click(function()
 {
 $("#slider").slideDown("slow");
 }
 );
 });

このコードを使用すると、スライダーウィンドウが前に来るのではなく、wrapper2を下に押すことで下にスライドするようになります。何が問題になる可能性がありますか?

4

4 に答える 4

0

position:absolute;「スライダー」に追加して、その位置を設定する必要があると思います。

于 2012-05-26T12:54:12.567 に答える
0

ラッパー要素の外側に配置する必要があります。sliderそうしないと、親子関係がz-indexなどのいくつかのフォーマットルールをオーバーライドします。position:absoluteその他のcss属性は、jQueryによって自動的に設定される必要があります。

于 2012-05-26T13:22:59.343 に答える
0

私はフィドルをまとめました。

関連するコードは次のとおりです。HTML

<div id="wrapper1">
  <div class="clickMeWrapper">
    <a class="clickMe" id="tab1" href="#">Click Me!</a>
    <div class="slider">
    </div>
  </div>
  <div class="clickMeWrapper">
    <a class="clickMe" id="tab1" href="#">Click Me!
    </a>
    <div class="slider">
    </div>
  </div>
</div>
<div id="wrapper2">
</div>​

jQuery

$(document).ready(function() {
    $(".slider").hide();
    $(".clickMeWrapper").click(function(e) {
        e.preventDefault();
        e.stopImmediatePropagation();
        $(this).children(".slider").slideToggle("slow");
    });
});​

不明な点がある場合はお知らせください。

于 2012-05-26T14:01:10.840 に答える
0

z-indexが機能するには、絶対位置が必要です。

于 2012-06-09T17:13:47.443 に答える