2013-06-11 30 views
5

の4つの桁がのWebサイトを作成しています。 任意のdivをクリックすると、残りの3つのdivをカバーするように最大化します。これを実現するには、z-indexプロパティを使用する必要があります。私はスタイルでZ-インデックスを指定せず、divをクリックしたときにのみjQueryを使用して追加します。ここではdivのための私のコードは次のとおりです。jQueryを使用してz-indexプロパティを削除する方法

<div id="one" style="background: #58D3F7; height: 200px; width: 200px; position: absolute; 
    margin-left: 410px; margin-top: 202px; float: left; cursor: pointer; text-align: center;"></div> 

そして、ここでは、最大化するためのjQueryのコードです:

$(function() { 
    var state = true; 
    $("#one").click(function() { 
     if (state) { 
      $("#one").animate({ 
       height: 300, 
       top: -100 
      }, 1000); 
      $("#one").css({ "z-index": "1" }); 
      $("#one").animate({ 
       width: 300, 
       left: -100 
      }, 1000); 
      $("#itxt1").animate({ 
       color: "#58D3F7" 
      }, 1000); 
      $("#one").animate({ 
       height: 650, 
       width: 650 
      }, 1000); 
     } else { 
      $("#one").animate({ 
       backgroundColor: "#58D3F7", 
       height: 200, 
       width: 200, 
       left: 8, 
       top: 8, 
       opacity: 1 
      }, 1000); 
      $("#one").removeAttr("z-index"); 
     } 
     state = !state; 
    }); 
}); 

上記のコードは、私はそれを最小限に抑えるためのdiv秒の時間をクリックしたときを除いて正常に動作し、Z- indexプロパティはそのままです。私はそれが行きたい。どうすればこれを達成できますか?

+0

ありがとうございました。しかし、私は別の問題に直面しています。即座に、つまりすぐにdivをクリックすると、Z-indexプロパティが消え、残りのdivがこの1つ上に表示されます。私はdivの最小化のためにやったようにそのプロパティを時間を計ることができますか? – nitinvertigo

答えて

12

z-indexは属性ではありません。ドキュメントに記載されているように

、あなたが行うことができます

$("#one").css("z-index", ''); 

エキスthe documentationから:

空の文字列にスタイルプロパティの値を設定する - 例えば $( '#mydiv').css( 'color'、 '') - 要素が で既に適用されている場合は、HTMLスタイルの 属性か、jQueryの.css()メソッド、または直接のDOM スタイルプロパティの操作を介して。ただし、スタイルシートまたは 要素にCSSルールを適用した スタイルは削除されません。

2

あなたはこの

+4

0に設定しても、z-indexは完全に削除されません。 –

+0

@JamesDonnellyありがとう私は私の答えを – PSR

+0

更新しました。すぐにうまくいきました。しかしすぐに起こります。私がdivをクリックすると、他の3つのdivが現在のdivの上にimmeadiately表示されます。私はdivが最小化された後にそれが起こることを望んでいます。私はこれを行うことはできますか? – nitinvertigo

1

代わりのようにしてみてくださいjQueryの

.css()を使用して
$('#id').css('z-index',''); 

を削除することができます

$("#one").removeAttr("z-index"); 

CSSからそれを削除します。

$("#one").css("z-index", ""); 

か、を一過性のs

$("#one").css("z-index", "auto"); 
1

使用は

$('#id').css('z-index','initial'); 

CSSの構文

Zインデックスバックデフォルト値にZインデックスをリセットするための初期:|数|初期|自動継承。

  • 自動:スタックオーダーをその親に等しく設定します。これはデフォルトです
  • 数字:要素のスタック順序を設定します。負の数値を使用できます。
  • :このプロパティをデフォルト値に設定します。初期について読む
  • 継承:親要素からこのプロパティを継承します。
+0

私はこれがこの質問に対する唯一の正解であると思います。 cssファイルに属性が設定されている場合、他のすべての属性は削除されません。 'initial'の代わりに 'unset'を使うこともできます。しかし、IEではテストされていません。 – Oliver

関連する問題