2
メニューをホバリングすると、矢印が左から左にスライドして、現在ホバーしているメニュー項目になります。純粋なCSSを使用してメニューの下の矢印をスライドさせる
JavaScriptでは、矢印要素の「左」プロパティでマウスを動かして再生するイベントをバインドしますが、純粋なcss3アニメーションソリューションを使用できるかどうかは疑問です。
矢印は、このスレッド Show border triangle in navbar using CSS
に似ていますが、私はそれを表示したくないと私は矢印を常に表示したいhide-、それは私が「メニューに応じて右から左にスライドしていることmが現在ホバリングしています。
これは私がJSでそれをやったい場合、それはどのように見えるかです:あなたのマークアップの変化に
var arrEle = $("#indication-mark-wrap");
var startHover = $(arrEle).css("left");
$("li").mouseenter(function() {
var left = $(this).position().left;
$(arrEle).css("left", left+30);
});
$("li").mouseleave(function() {
$(arrEle).css("left", startHover);
});
ul {
list-style-type: none;
padding: 0px;
}
li {
display: inline-block;
width: 80px;
color: white;
background-color: black;
height: 50px;
}
#indication-mark-wrap {
position: absolute;
left: 38px;
top: 56px;
background: wheat;
-webkit-transition: all 1000ms cubic-bezier(0.000, 0.000, 0.330, 0.990);
-moz-transition: all 1000ms cubic-bezier(0.000, 0.000, 0.330, 0.990);
-o-transition: all 1000ms cubic-bezier(0.000, 0.000, 0.330, 0.990);
transition: all 1000ms cubic-bezier(0.000, 0.000, 0.330, 0.990);
/* custom */
-webkit-transition-timing-function: cubic-bezier(0.000, 0.000, 0.330, 0.990);
-moz-transition-timing-function: cubic-bezier(0.000, 0.000, 0.330, 0.990);
-o-transition-timing-function: cubic-bezier(0.000, 0.000, 0.330, 0.990);
transition-timing-function: cubic-bezier(0.000, 0.000, 0.330, 0.990);
/* custom */
}
.indication-mark {
position: relative;
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="menu">
<ul>
<li>Selection1</li>
<li>Selection2</li>
<li>Selection2</li>
</ul>
</div>
<div id="indication-mark-wrap">
<canvas width="20" height="20" class="indication-mark"></canvas>
</div>
よさそうだ、お時間をいただき、ありがとうございます。 –
私は "アクティブ"タブのサポートを追加しました。javascriptはクリックのためのものです。これはブートストラップタブによって追加されたためです。今は私のニーズに完璧です。 –
@ZivWeissman 2:ndサンプルで更新、CSSのみを使用しているアクティブなタブ(_no script_に移動したい場合) – LGSon