2
4つのアイテムと各メニューアイテムに関連するアイコンがあるナビゲーションバーがあります。アイコンは絶対的に1つ後ろに配置され、異なるテンプレートのビューに同じコントローラの範囲内にロードされます。AngularJSを使用してクリックするとZ-インデックスが変更されます
私が達成しようとしているのは、角度を使ってクリックしたメニュー項目に基づいてアイコンのZ-インデックスを変更することです。私はng-switchを使っていくつかの方法を試しましたが、経験不足のために分かりません。
問題の解決方法を教えてください。
ありがとうございます。
HTML
ヘッダービュー:
<nav id="top-nav">
<ul>
<li ui-sref="root.home";>Home</li>
<li ui-sref="root.drinks">Drinks</li>
<li ui-sref="root.food-and-snacks">Food And Snacks</li>
<li ui-sref="root.contacts">Contacts</li>
</ul>
</nav>
アイコン表示:
<ul>
<li>Home Icon</li>
<li>Drinks Icon</li>
<li>Food Icon</li>
<li>Contacts Icon</li>
</ul>
CSS
ul li{
position: absolute;
height: 50px;
width: 50px;
lefT: 0;
top: 0;
z-index: 0;
}
あなたはNG-クラスを使用してみましたか?割り当てたいz-インデックスを持つクラスを作成し、そのクラスをui-routerで適用することができます。たとえば、クラスの.super-zindex {z-index:999}なら、ng-class = "{super-zindex:$ state.includes( 'home')} ';これはあなたのために働く場合は、私に知らせて、私はそれを他の人がそれを見ることができるようにするでしょう。 – shteeven
あなたのレスポンをありがとう。問題は、ページが読み込まれたときにアイコンが既に表示されているため、includeを使用できないことです。一度ページが読み込まれると、4つのアイコンが表示されます。いずれかをクリックすると、4つのアイコンすべてが左上隅にアニメーション表示され、上のインデックスにクリックされます。アイコンの背後には、アイコンに関連するユーザーが表示されます。読み込まれたビューには、ユーザーが他のページをナビゲートできるようにする別のメニューがあります。 –
クラスを使用できない場合は、クリックイベントを処理するカスタムディレクティブを作成し、そのイベントハンドラの内部でプログラムでZ-インデックスを設定できます。 – tuckerjt07