一.使用js實現導航行欄,點擊時,下劃線會跟著鼠標的點擊移動。
成都創新互聯是一家專業提供雙灤企業網站建設,專注與成都做網站、成都網站制作、H5響應式網站、小程序制作等業務。10年已為雙灤眾多企業、政府機構等服務。創新互聯專業網絡公司優惠進行中。html代碼如下:
<header> <div id="nav1"> <div id="id1" class="item">1</div> <div id="id2" class="item">2</div> <div id="id3" class="item">3</div> </div> <div id="line"></div> </header>
css代碼如下:
*{ margin:0; padding:0; } body{ background: url("./img/wallhaven1.png"); } .item{ width: 100px; height: 30px; margin-bottom: 5px; margin-left: 5px; padding: 5px 10px; background: #B89C9B; text-align: center; line-height: 30px; color:white; border-radius: 10px; } #line{ color:red; width: 4px; height: 40px; background: red; position: absolute; top:0px; padding-right: 1px; }
js代碼如下:
<script> function avtiveLineTop(n) { document.getElementById('line').style.top = n + 'px'; }; var nav1 = document.getElementById("nav1"); var items = document.getElementsByClassName('item'); nav1.addEventListener("click",handle,false); function handle(event){ var event=event||window.event; var target=event.target||event.srcElement;; switch(target.id){ case "id1": avtiveLineTop(0); break; case "id2": avtiveLineTop(45); break; case "id3": avtiveLineTop(90); break; } } </script>
效果圖:
默認時,紅色橫線在1標簽處,點擊2時,紅色標簽,會根據移動函數進行移動,如圖(2)
二.在此基礎上,根據css3來實現橫線的過度平滑效果。
html代碼如下:
<section> <ul id="nav2"> <li class="item1"><a href="#" id="id11">課程學習</a></li> <li class="item1"><a href="#" id="id21">課程筆記</a></li> <li class="item1"><a href="#" id="id31">課程練習</a></li> <li class="item1"><a href="#" id="id41">課程相關</a></li> <li class="item1"><a href="#" id="id51">課程拓展</a></li> </ul> <div id="line1"></div> </section> <div ></div> <div id="pic"> <img src="./img/wallhaven3.png" alt="人物"> </div>
css代碼如下:
.item1{ width: 100px; height: 30px; margin-bottom: 5px; margin-left: 5px; padding: 5px 10px; background: #1E293B; float:left; text-decoration:none; color:white; line-height: 30px; border-radius: 10px; } #line1{ color:red; width: 120px; height: 2px; background: red; position: absolute; top:175px; left:5px; padding-top: 1px; } #nav2{ list-style-type: none; } #nav2 a{ display: block; text-decoration:none; color:white; } #nav2 a:hover{ background-color: #1E291a; color:red; } #pic{ margin-top:80px; margin-left: 10px; } img{ width: 200px; height:200px; border-radius: 15px; } .effect0{ transform: translateX(1px); transition:all 2s; } .effect{ transform: translateX(125px); transition:all 2s; } .effect2{ transform: translateX(250px); transition:all 2s; } .effect3{ transform: translateX(375px); transition:all 2s; } .effect4{ transform: translateX(500px); transition:all 2s; } .piceffect{ transform: translateX(600px) scale(1.5); transition: all 2s; }
js代碼如下:
var nav2 = document.getElementById('nav2'); var pic = document.getElementById('pic'); nav2.addEventListener("click",move,false); function move(event){ var event=event||window.event; var target=event.target||event.srcElement;; switch(target.id){ case "id11": line1.className = "effect0"; pic.className = "effect0"; break; case "id21": line1.className = "effect"; pic.className = "effect"; break; case "id31": line1.className = "effect2"; pic.className = "effect2"; break; case "id41": line1.className = "effect3"; pic.className = "effect3"; break; case "id51": line1.className = "effect4"; pic.className = "effect4"; break; } } pic.addEventListener("click",showbig,false); function showbig(){ pic.className="piceffect"; }
效果圖:
當鼠標沒有點擊標簽時,橫線默認是在第一個標簽下,如圖:
當點擊任何一個標簽,下劃線和圖片就會平滑的過度到點擊的那個標簽下,如圖:
創新互聯www.cdcxhl.cn,專業提供香港、美國云服務器,動態BGP最優骨干路由自動選擇,持續穩定高效的網絡助力業務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節活動現已開啟,新人活動云服務器買多久送多久。
本文題目:js實現標簽下劃線平移-創新互聯
文章位置:http://m.kartarina.com/article10/ccgjgo.html
成都網站建設公司_創新互聯,為您提供網站改版、外貿網站建設、App開發、微信小程序、建站公司、標簽優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯