デモオンラインアドレス:
https://sx00xs.github.io/test/28/index.html
----------------------------- ----------------------------------
IDE:VSCode
ファイル形式:.vue
に完成する決意:()
<テンプレート> の<divクラス= "NAV"> <UL> <LIのV- ための "リストの(リスト、インデックス)" =:キー= "list.name" @mouseover = "handleOver(リスト)" @mouseout =」 handleOut(リスト) " > <a href="#"> {{list.name}} </a>の <遷移名= "フェード" @Before -ENTER = "beforeEnter" @enter = "入力" @leave ="去る" > <DIV CLASS ="subnav」V- 場合 = "list.isActive":データ・インデックス= "インデックス"> <EMクラス= "矢印"> </ EM> <P> <スパン> <a href="#" V- ため ="itemでlist.subname" :key="item.mes"> {{item.mes}} { {item.bar}} </a>の </ span>を </ P> </ div> </遷移> </ LI> </ UL> </ div> </テンプレート> <スクリプト> インポート{リスト}から」./lists' ; インポートからのsetTimeout {}「タイマー」。 { リスト:リスト } }、 メソッド:{ handleOver(リスト){ list.isActive = 真 }、 handleOut(リスト){ list.isActive = 偽 }、 beforeEnter(EL){ el.style.display = 'なし' }、 (ELを行う)を入力{ el.style.display = 'ブロック' 。 VAR NAV = el.offsetParent。 VAR myUl =el.offsetParent.firstChild; VAR myLi = myUl.childNodes。 VaRのインデックス= el.dataset.index。 VaRの EM = el.firstChild。 nav.offsetWidth - myLi [インデックス] .offsetLeft> el.offsetWidth? el.style.left = myLi [インデックス] .offsetLeft + 'ピクセル' : el.style.right = 0 。 em.style.left = myLi [インデックス] .offsetLeft - el.offsetLeft + 50 + 'ピクセル' ; 完了() }、 {(行われ、EL)を残し たsetTimeout(関数(){ el.style.display = 'なし' }、 300 ) 完了() } } } </ SCRIPT>