2011-06-17 11 views
1

ホバリングされたアイテムに移動するスライディング背景を持つ水平メニューを作成しようとしています。私は、ユーザーが "ホーム"ページにいるときの典型的なセットアップを示す下のフィドルを持っています。赤いdivはmenuItem divの下に配置されるはずです。何らかの理由で私が得ている結果は正しくはありません。私のCSSで何が間違っていますか?スライディング背景付きメニューのZ-インデックス

JSFiddle:http://jsfiddle.net/Jaybles/9drwk/

HTML

<div class="menu" id="topMenu"> 
    <div id="topMenuSlider"></div> <!-- Red Sliding Background--> 

    <div class="menuItem" id="menu_index"> 
     <a href="/index.php">Home</a>      
    </div> 

    <div class="menuItem" id="menu_howitworks"> 
     <a href="/howitworks.php">How it Works</a>      
    </div> 

    <div class="menuItem" id="menu_benefits"> 
     <a href="/benefits.php">Benefits &amp; Savings</a>      
    </div> 

    <div class="menuItem" id="menu_quote"> 
     <a href="/quote.php">Request a Quote</a>      
    </div>  

    <div class="menuItem" id="menu_dealers"> 
     <a href="/dealers.php">Dealer Information</a>      
    </div>  
</div> 

JS

var item = $('#menu_index'); 
$('#menuItem').css({ 
    'z-index:': '9999' 
}); 
$('#topMenuSlider').css({ 
    'top' : (item.position().top -5) + 'px', 
    'left' : (item.position().left-5) + 'px', 
    'width' : (item.width()+10) + 'px', 
    'height' : (item.height()+10) + 'px', 
    'z-index:': 'auto' 
}); 

CSS

div.menu{ 
    font-family: verdana; 
    font-size:13px; 
    width:1100px; 
    height:29px; 
    color:#fff; 
    text-align: left; 
    padding: 6 px 0px 0px 8px; 
    margin: 0px 0px 0px 0px; 
    border 1px dashed #000; 
    overflow:hidden; 
} 

.menuItem{ 
    margin-right:20px; 
    font-family: verdana; 
    font-size:11px; 
    font-weight:bold; 
    color:#fff;  
    display:inline; 
    cursor:pointer; 
    height:25px; 
} 
#topMenuSlider{ 
    -moz-border-radius:5px; 
    -webkit-border-radius:5px;  
    background:#ff0000; 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ff3333'); /* for IE */ 
    background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), to(#000000)); /* for webkit browsers */ 
    background: -moz-linear-gradient(top, #ff0000, #000000); /* for firefox 3.6+ */ 
    position:absolute;  
} 
+0

? –

+0

これまでのところChrome、FF、IEのみ... :) – Dutchie432

答えて

2

あなたが

位置を指定する必要があります。相対的な;あなたの

.menuItem

クラスの

。 そして、あなたは

#topMenuSlide

のためのzインデックスを必要としません。

+0

正しい。 Hrrm ..なぜそれが説明できますか? – Dutchie432

+0

http://www.w3schools.com/css/pr_pos_z-index.asp - z-indexを使用するには常に位置が必要です。 –

+0

@ Keoki Zee次は、サンタは本当ではないことを教えてくれるでしょう:) :) –

1

は、あなたが探しているものは、この種ではないですposition:relative;.menuItemに追加しますか?

$('.menuItem').hover(function(){ 
    $('#topMenuSlider').css({ 
     'top' : ($(this).position().top -5) + 'px', 
     'left' : ($(this).position().left-5) + 'px', 
     'width' : ($(this).width()+10) + 'px', 
     'height' : ($(this).height()+10) + 'px' 
    }); 
}); 

.menuItem{ 
    z-index: 9999; 
    margin-right:20px; 
    font-family: verdana; 
    font-size:11px; 
    font-weight:bold; 
    color:#fff;  
    display:inline; 
    cursor:pointer; 
    height:25px; 
} 

#topMenuSlider{ 
    z-index: -1; 
    -moz-border-radius:5px; 
    -webkit-border-radius:5px;  
    background:#ff0000; 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ff3333'); /* for IE */ 
    background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), to(#000000)); /* for webkit browsers */ 
    background: -moz-linear-gradient(top, #ff0000, #000000); /* for firefox 3.6+ */ 
    position:absolute; 
} 

http://jsfiddle.net/9drwk/2/

そして、それは下に表示させるために作る:

あなたがでこれをテストしているブラウザ
$('.menuItem').hover(function(){ 
    $('#topMenuSlider').css({ 
     'top' : ($(this).position().top + $(this).height() + 2) + 'px', // This line 
     'left' : ($(this).position().left-5) + 'px', 
     'width' : ($(this).width()+10) + 'px', 
     'height' : ($(this).height()+10) + 'px' 
    }); 
}); 

http://jsfiddle.net/9drwk/4/

+0

私は最初の例でどこに行くのか見ていますが、私が探しているものではありません。私はこの問題を、私が助けが必要だったことを伝えるために超簡単な方法で説明しました。私は本当に「AR」が与えた答えを探していました。 「アンダーナス」とは、私がZ-指数のオーダーまで意味していました。しかし、この一歩をさらに進めていく努力のために、ありがとう! +1 – Dutchie432

関連する問題