前提・実現したいこと
jQueryを使って動的なホームページを作っている最中です。
メニューバーの項目をホバーしたら、アンダーラインをスライドさせる方法を教えて頂きたいです。
宜しくお願い致します。
参考にしたサイト
発生している問題・エラーメッセージ
以下のコードを書いても、jQueryの動作がブラウザに反映されませんでした。
該当のソースコード
HTML
1<nav id ="menu"> 2 <ul> 3 <li><a href ="#">ポートフォリオ</a></li> 4 <li><a href ="#">お問い合わせ</a></li> 5 <li><a href ="#">リンク</a></li> 6 </ul> 7 </nav>
jQuery
1$(function(){ 2 $('#menu').hover(function(){ 3 $('#menu').addClass('underline'); 4 }); 5 6})
css
1#menu { 2 width: 100%; 3 height: 70px; 4 background-color: dimgray; 5 position: relative; 6 top: 770px; 7 box-sizing: border-box; 8} 9 10#menu .underline :hover{ 11 opacity: 1; 12 color:red; 13 transition: 0.5s; 14 15} 16 17#menu .underline :after { 18 position: absolute; 19 content: ''; 20 width: 100%; 21 height: 1px; 22 left: 0; 23 opacity: 0; 24 25} 26 27#menu ul { 28 position: absolute; 29 bottom: -9px; 30 left: 170px; 31 font-size: 25px; 32 display: flex; 33} 34#menu li { 35 list-style: none; 36 position: relative; 37} 38 39#menu a { 40 text-decoration: none; 41 display: block; 42 color: #fff; 43 margin-right: 250px; 44}
期待した処理結果
addClassメソッドを使ってunderlineクラスを作成後、cssでホバーしたら赤い下線がスライドすると思いました。
試したこと
以下のコードに書き換えても結果は変わりませんでした。
jQuery
1 $(function(){ 2 3 $('#menu').hover(function(){ 4 $('#menu').children('') 5 $('#menu').css('text-decoration','underline', 'color', 'red') 6 7 }) 8 9})
補足情報(FW/ツールのバージョンなど)
開発環境
-
OS ..Mac バージョン10.14.6
-
Visual Studio Code バージョン 1.62.3
具体的な動作を図示してください
・メニュー内の[ポートフォリオ、お問い合わせ、リンク]の各項目に、ホバーすると赤の下線が左から右に流れるように実装したいです。
回答2件
あなたの回答
tips
プレビュー