私のjsfiddleを見ていただけませんか?
ご覧のとおり、アクティブなリストアイテムのアンカーの下に水平線を配置しました。
カーソルが立っている場所ではなく、ホバーしたときの境界線の下部のように、水平線をアンカーの下部**に配置したいと思います。誰かが私を助けることができますか?
よろしくお願いします!
よろしく、
ジョナサン
私のjsfiddleを見ていただけませんか?
ご覧のとおり、アクティブなリストアイテムのアンカーの下に水平線を配置しました。
カーソルが立っている場所ではなく、ホバーしたときの境界線の下部のように、水平線をアンカーの下部**に配置したいと思います。誰かが私を助けることができますか?
よろしくお願いします!
よろしく、
ジョナサン
問題はli
、のマウスオーバーを停止しul
てアニメーションを反転させていた行に要素を使用していたためです。代わりにdiv
、マウスオーバーイベントのインターセプトを停止するために、より低いz-indexを持つ要素を含む内部を使用します。
HTML:
<div id="container">
<ul>
<li><a href="#">sub nav</a></li>
<li><a href="#">sub nav</a></li>
<li><a href="# "class="active">sub nav</a></li>
<li><a href="#">sub nav</a></li>
</ul>
</div>
修正されたJavaScript:
var animation = $('<div>').css({
'position': 'absolute',
'height': active.outerHeight()-1,
'width': active.outerWidth(),
'marginTop': (active.parent().index() * active.outerHeight()),
'borderBottom': '1px solid #000',
'z-index': -10
});
また、線が透けて見えるように、要素をborder-bottom
透明にする必要があります。ul li a
必要に応じて使用できmargin-bottom: 1px
ます。
何を達成しようとしているのか正確にはわかりませんが、アクティブな<li>
要素の下に行が表示されているだけの場合は、このjsfiddleが機能する可能性があります。
cssを使用して、いくつかの簡略化されたjQueryを使用してアンダースコアを適用します。
$(document).ready(function() {
$('ul').mouseout(function(){
$(this).removeClass('active');
}).
$('ul > li').mouseenter(function(){
$(this).addClass('active');
});
});
問題は、アニメーションli
のz-indexが他のリスト要素よりも高いことです。そして、リンクから白い境界線を削除する必要があります。
このフィドルを見てください:http://jsfiddle.net/YFUsJ/12/
CSS:
ul li {
display: block;
position:relative;
z-index:1;
}
ul li a {
text-decoration: none;
height: 30px;
line-height: 30px;
display: block;
padding:5px;
color: #555;
font-size: 1.4em;
}